擴展包推薦 —— Laravel Log 加強

文章轉發自專業的Laravel開發者社區,原始連接:learnku.com/laravel/t/9…php

Laravel Log Enhancer 是 Laravel 5.6  的一個擴展包,能夠在 Laravel 日誌中添加額外的數據。 得益於 Laravel 5.6 中日誌的更新,這個包利用這些特性擴展日誌記錄並添加數據,例如請求頭、內存使用狀況、會話信息和其它數據 。laravel

你能夠經過修改 config/logging.php 中的 tap 屬性,來添加  LogEnhancer 到你的日誌通道:git

'production_stack' => [
    'driver' => 'stack',
    'tap' => [Freshbitsweb\LaravelLogEnhancer\LogEnhancer::class],
    'channels' => ['daily', 'slack'],
],

複製代碼

配置日誌通道後,下面是一條包含默認額外信息的日誌示例:github

[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}

複製代碼

下面是加強日誌記錄的配置選項(包含了默認配置選項的信息):web

<?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 選項,避免日誌中記錄客戶的敏感信息!!!例如用戶密碼或信用卡帳號。bash

你須要運行交互模式命令 artisan vendor:publish , 以激活上面的自定義配置:session

php artisan vendor:publish --tag=laravel-log-enhancer-config

複製代碼

在一個基於 Laravel 5.6 的項目中,你能夠使用以下命令利用 composer 來安裝這個擴展包:composer

composer require freshbitsweb/laravel-log-enhancer

複製代碼

因爲 Laravel 的包自動發現 機制,你只須要安裝這個包並根據你的程序須要進行配置就能夠了。ui

瞭解更多

詳情請查看該包的 GitHub 官方倉庫。須要注意的是,這個擴展包依賴於 Laravel 5.6 的新日誌系統,因此你只能在該版本或者更新版本中使用它。url

它首先出如今 Laravel News 上。

相關文章
相關標籤/搜索