Error Handing and Logging

Logging

Blink provides a PSR-3 compatible logging service that build upon Monolog logging library. Using this service, you can easily log various types of messages into different targets, such as files, databases and emails.

In order to log your messages, you need configure the log service. In the following, this is the default configuration provided by Blink's seed project:

'log' => [
    'class' => 'blink\log\Logger',
    'targets' => [
        'file' => [
            'class' => 'blink\log\StreamTarget',
            'enabled' => true,
            'stream' => 'php://stderr',
            'level' => 'info',
        ]
    ],
],

In this example, we configured a file logging target that will write all messages to stderr if the message level equals or less than INFO.

Besides the configuration, it is very convenient to access the log service and write logs, this is the example:

// accessing the log service
$log = app('log');

// logging when system is unusable
$log->emergency('my message');

// logging when action must be taken immediately
$log->alert('my message');

// logging on critical conditions
$log->critical('my message');

// logging for runtime errors
$log->error('my message');

// logging for warnings
$log->warning('my message');

// logging for normal bug sighficant events
$log->notice('my message');

// logging for insteresting events
$log->info('my message');

// logging for detailed debug information
$log->debug('my message');

Error Handing

In Blink, all PHP errors are converted to blink\core\ErrorException exception automatically. By utilizing this feature, it is possible to using try ... catch block to catch PHP errors.

Blink provides errorHandler service which implemented by blink\core\ErrorHandler class to handle exception and errors, errorHandler will report exceptions or errors to log service by default, it is possible implement your own errorHandler service to report errors in a different way such as Sentry.

results matching ""

    No results matching ""