laravel的monolog使用


Laravel 集成了 Monolog 日志函數庫,Monolog 支持和提供多種強大的日志處理功能。

1、設置,日志模式

(1)Laravel 提供可立即使用的 single、daily、syslog 和 errorlog 日志模式。

例如,如果你想要每天保存一個日志文件,而不是單個文件,則可以在 config/app.php 配置文件內設置 log 變量:'log' => 'daily'

'log' => env('APP_LOG', 'single'), // 可用配置有:"single", "daily", "syslog", "errorlog"
single —— 將日志記錄到單個文件中。該日志處理器對應Monolog的StreamHandler。
daily —— 以日期為單位將日志進行歸檔,每天創建一個新的日志文件記錄日志。該日志處理器 對應Monolog的RotatingFileHandler。
syslog —— 將日志記錄到syslog中。該日志處理器 對應Monolog的SyslogHandler。
errorlog —— 將日志記錄到PHP的error_log中。該日志處理器 對應Monolog的ErrorLogHandler。


(2)當使用「日志模式」時,默認情況下會保存 5 天的日志,你可通過 app.php 配置文件里的配置項 log_max_files來定制日志保存天數:

'log_max_files' => 30


(3)如果你想要完全控制 Monolog,則使用應用程序的 configureMonologUsing 方法。此方法應該在bootstrap/app.php 文件返回 $app 變量之前被調用:

$app->configureMonologUsing(function($monolog) {
$monolog->pushHandler(...);
});

return $app;


(4)默認情況下,Laravel 對所有的錯誤級別進行記錄,你可以通過定制 app.php 的 log_level 設置項來限制錯誤記錄級別。Laravel 會記錄大於或者等於你設置的 log_level 的值,例如:設置 log_level 為 error 級別的話,Laravel 會記錄 error, critical, alert, 和 emergency 級別的錯誤。

'log_level' => env('APP_LOG_LEVEL', 'debug'),

(5)日志存儲位置:'storage/logs/laravel.log

2、我們在項目中,使用 "log Facades" 來記錄日志

 
use Log;
 
Log::debug(); // 記錄日志

如:
use Log;
Log::debug('ivy', ['name'=>'ivy', 'age'=>30]); Log::info('ivy', ['name'=>'ivy', 'age'=>30]); 在 'storage/logs/laravel.log' 中記錄: [2019-06-17 16:54:28] local.DEBUG: ivy {"name":"ivy","age":30} [2019-06-17 16:54:28] local.INFO:ivy {"name":"ivy","age":30}

修改 'config/app.php' 中的 "log" 配置為 'daily',會生成:

'storage/logs/laravel-2019-06-17.log'



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM