Laravel Log Enhancer 是 Laravel 5.6 的擴充包,可在 Laravel 日誌中新增額外的資料。由於 Laravel 5.6 中日誌的更新,這個包利用這些特性擴展日誌記錄並添加數據,例如請求頭、內存使用情況、會話信息和其它數據 。
你可以透過修改config/logging.php
中的tap
屬性,來加入 LogEnhancer
到你的日誌頻道:
'production_stack' => [ 'driver' => 'stack', 'tap' => [Freshbitsweb\LaravelLogEnhancer\LogEnhancer::class], 'channels' => ['daily', 'slack'], ],
配置日誌通道後,以下是一條包含預設額外資訊的日誌範例:
[2018-03-30 05:07:23] local.INFO: Testing log {"inputs":[],"session":{"_token":"bZXCPViCzmaULIO6GsdLBbveC1yd3BbyH31zfT8c","_previous":{"url":"http://log-enhancer-demo.test"},"_flash":{"old":[],"new":[]}},"url":"/","ip":"127.0.0.1","http_method":"GET","server":"","referrer":null}
以下是增強日誌記錄的設定選項(包含了預設設定選項的資訊):
<?php return [ 'log_request_details' => true, 'log_input_data' => true, 'log_request_headers' => false, 'log_session_data' => true, 'log_memory_usage' => false, 'log_git_data' => false, // 你可以明确不记录到日志中的用户输入信息 'ignore_input_fields' => ['password', 'confirm_password'] ];
特別注意 ignore_input_fields
選項,避免日誌中記錄顧客的敏感資訊! ! !例如使用者密碼或信用卡帳號。
你需要執行互動模式指令 artisan vendor:publish
, 以啟動上面的自訂設定:
php artisan vendor:publish --tag=laravel-log-enhancer-config
在一個基於Laravel 5.6 的專案中,你可以使用如下指令利用composer 來安裝這個擴充包:
composer require freshbitsweb/laravel-log-enhancer
由於 Laravel 的套件自動發現 機制,你只需要安裝這個套件並根據你的程式需要進行設定就可以了。
了解更多
詳情請查看該套件的 GitHub 官方倉庫(https://github.com/freshbitsweb/laravel-log-enhancer)。要注意的是,這個擴充包依賴 Laravel 5.6 的新日誌系統,所以你只能在該版本或更新版本中使用它。
它首先出現在 Laravel News (https://laravel-news.com/)上。