Blink錯誤與日志處理

2018-11-25 22:01 更新

Blink日志與錯誤處理

Blink日志

Blink 提供了一個構建在 Monolog 日志庫之上、兼容 PSR-3 日志標準的日志服務組件。通過日志服務,我們可以輕松的把各種類型的消息記錄到諸如文件、 數據庫、郵件等媒介中。

為了記錄日志消息,我們首先需要配置日志服務,下面是 Blink 的 seed 項目提供的默認日志配置:

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

在這個例子中,我們定義了一個叫做 file 的媒介,目的是將所有消息級別小于或等于 INFO 的消息寫入到 stderr中:

另外,獲取日志服務和寫日志也是很方便的,實例如下:

// 獲取日志服務的實例
$log = app('log');

// emergency 日志類型,系統(tǒng)不可用
$log->emergency('my message');

// alert 日志類型,必要的措施必須馬上采取
$log->alert('my message');

// critical 日志類型,危險條件觸發(fā)
$log->critical('my message');

// error 日志類型,運行時錯誤
$log->error('my message');

// warning 日志類型,警告
$log->warning('my message');

// notice 日志類型,通常且值得注意的事件
$log->notice('my message');

// info 日志類型,記錄感興趣的事件
$log->info('my message');

// debug 日志類型,記錄詳細的調試信息
$log->debug('my message');

Blink錯誤處理

Blink 中,所有的 PHP 錯誤都會自動轉換成 blink\core\ErrorException 異常,通過這個特性,我們可以用 try ... catch 來捕獲 PHP 錯誤。

Blink 提供由 blink\core\ErrorHandler 類實現的 errorHandler 服務來處理 PHP 異常。默認情況下,errorHandler會把所有的異常上報給 log 服務,我們也可以實現自己的 errorHandler,采用不同的方式來處理這些異常,比如上報給 Sentry。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號