[英]How to create and use a custom daily log file in Laravel?
在 Laravel 中,我在/config/logger.php
中定义了一个自定义日志文件:
'mycustomlog' => [
'driver' => 'stack',
'path' => storage_path('logs/mycustomlog.log'),
'level' => 'info',
],
这是我的上下文堆栈驱动程序:
'stack' => [
'driver' => 'stack',
'channels' => ['daily', 'syslog'],
'ignore_exceptions' => false,
],
我这样称呼它:
Log::channel('mycustomlog')->info($e);
我期望发生的事情:
创建(每日)日志文件并记录异常。 即mycustomlog-2019-11-07.log
实际发生的情况:
没有创建日志文件,但在laravel.log
中记录了以下错误:
[2019-11-07 10:25:31] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (ErrorException(code: 0): Undefined index: channels at /var/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:232)
解决方案:
'mycustomlog' => [
'driver' => 'daily',
'channels' => ['syslog'],
'path' => storage_path('logs/mycustomlog.log'),
'level' => 'info',
],
您将需要在配置记录器中有通道logger.php
请参见此处。 堆栈驱动程序的重点是向多个通道报告。
'mycustomlog' => [
'driver' => 'stack',
'channels' => ['daily'],
'path' => storage_path('logs/mycustomlog.log'),
'level' => 'info',
],
如果您不希望它在堆栈中,您可以让您的配置指向这样的单个驱动程序
'mycustomlog' => [
'driver' => 'single',
'path' => storage_path('logs/mycustomlog.log'),
'level' => 'info',
]
然后以您自己尝试的方式调用它。
Log::channel('mycustomlog')->info($e);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.