在 Laravel 中记录自定义日志需配置独立 Log Channel,如在 config/logging.php 中新增 'payment' 频道使用 single 驱动写入 storage/logs/payment.log,并通过 Log::channel('payment')->info() 调用,支持结构化数据自动 JSON 化,可结合环境变量动态控制启用。

在 Laravel 中记录自定义日志,核心是通过配置独立的 Log Channel(日志频道),让特定业务逻辑(比如支付回调、爬虫抓取、审计操作)写入专属文件或服务,避免和默认日志混杂,也方便后续排查和监控。
在 config/logging.php 中新增一个 channel 配置,例如叫 payment:
single 驱动写入单独文件(推荐初试)path 路径,如 storage/logs/payment.log
daily 按天轮转,或用 stack 聚合多个通道示例配置片段:
'payment' => [
'driver' => 'single',
'path' => storage_path('logs/payment.log'),
'level' => 'debug',
],不用改全局日志行为,直接调用 Log::channel('xxx') 获取实例后记录:
Log::channel('payment')->info('支付回调成功', ['order_id' => 123, 'amount' => 99.9]);debug/info/warning/error 等全部方法可在配置里结合环境变量控制行为,比如只在生产环境启用审计日志:
logging.php 中用 env('AUDIT_LOG_ENABLED', false) 判断是否注册 audit 频道if (app()->environment('production')) { Log::channel('audit')->... }
刚配好别急着上线,快速确认是否生效:
.log 文件是否生成、内容是否正确storage/logs/ 目录权限,确保 Web 用户有写入权限APP_LOG_LEVEL 是否过高(如设为 error 就看不到 info)基本上就这些。配好频道后,各模块各写各的日志,清晰又可控。
以上就是Laravel如何记录自定义日志?(Log频道配置)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号