扩展包推荐 —— Laravel Log 增强

file

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 官方仓库。需要注意的是,这个扩展包依赖于 Laravel 5.6 的新日志系统,所以你只能在该版本或者更新版本中使用它。

它首先出现在 Laravel News 上。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-log-enh...

译文地址:https://learnku.com/laravel/t/9422/exten...

本帖已被设为精华帖!
本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2

5.5版本可以使用增强Log功能么?

4年前 评论

能不能增加全局的 traceid

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!