php - 如何在 Laravel 中创建和使用自定义的每日日志文件?

标签 php laravel logging

在 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',
],

最佳答案

您将需要在配置中包含 channel logger.phphere .堆栈驱动程序的重点是向多个 channel 报告。

'mycustomlog' => [
    'driver' => 'stack',
    'channels' => ['daily'],
    'path' => storage_path('logs/mycustomlog.log'),
    'level' => 'info',
],

关于php - 如何在 Laravel 中创建和使用自定义的每日日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58746816/

相关文章:

java - 将多部分表单数据上传到 php

php - 请求 stream_tag 表

java - 如何进行结构化日志记录?

php - 在elasticsearch索引中存储带有可选参数的日期时间?

javascript - 3秒后重定向至主页

laravel - 如何在 Laravel 的 url 中使用路由名称?

node.js - 代理错误 : Could not proxy request/api/register from localhost:3000 to http://localhost:8000/(ECONNREFUSED)

laravel - 更改 "password reset "url 链接

c# - 基于 log4net 中构建配置的不同附加程序

java - 程序崩溃时如何保存 "Java Console"日志?