iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 26
1
Modern Web

30天成為Laravel萌新系列 第 26

30天成爲Laravel萌新(第25天) - 紀錄檔

  • 分享至 

  • xImage
  •  

使用Logging

現在,要再回到laradock來。不過同樣的,Lavavel儲存紀錄檔的地方也是在storage/logs。這裡會儲存使用Log::info()所寫下的紀錄。

docker-compose exec workspace bash -c "tail -f storage/logs/最新的log"

如果使用Linux的話,也可以直接:

tail -f storage/logs/最新的log

當然你也可以直接把紀錄檔,用文字編輯器開啟。不過上述會這麼做,是因為如次可以更簡單的在開發時除錯。有時候,Laravel錯誤訊息頁面提供的訊息並非一目瞭然,會需要用到printf方式除錯(我假設...你不動gdb,但用過最基本的除錯手法...)。在這裡,使用一系列Log::的方法,其中,Log::debug()就對應除錯資訊。這和我曾經寫過的瀏覽器console.log()外的一些其他用法 有些像。


前幾天,在BlogPost建立新文章、更新文章和刪除文章時,使用Log::info()做了紀錄。Laravel從緊急到普通等級還提供以下方式:

Log::emergency($message);
Log::alert($message);
Log::critical($message);
Log::error($message);
Log::warning($message);
Log::notice($message);
Log::info($message);
Log::debug($message);

我有些意外在RFC 5424有所規範。
我常用的只有infodebugwarningalert

設定Logging

在好好看看Laravel關於Logging的文件,可以編輯config/logging.php修改設定。為了簡化每次都要去檢查最新的是哪個紀錄檔,可以將stack頻道改成下面這樣:

    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['daily', 'single'],
            'ignore_exceptions' => false,
        ],

        'single' => [
            'driver' => 'single',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
        ],

        'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
            'days' => 14,
        ],

預設上,還有多種策略可以選擇:

策略(channel) 說明
stack A wrapper to facilitate creating "multi-channel" channels
single A single file or path based logger channel (StreamHandler)
daily A RotatingFileHandler based Monolog driver which rotates daily
slack A SlackWebhookHandler based Monolog driver
papertrail A SyslogUdpHandler based Monolog driver
syslog A SyslogHandler based Monolog driver
errorlog A ErrorLogHandler based Monolog driver
monolog A Monolog factory driver that may use any supported Monolog handler
custom A driver that calls a specified factory to create a channel

懶的翻譯了...
先夠除錯就好www


上一篇
30天成爲Laravel萌新(第24天) - 頁面清單 下篇(使用Pagnation和刪除按鈕)
下一篇
30天成爲Laravel萌新(第26天) - 客製化404錯誤頁面
系列文
30天成為Laravel萌新32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言