如何在 Laravel 中将 INFO 记录到单独的文件中

新手上路,请多包涵

如何在 Laravel 5.1 中为 logging INFO 指定一个单独的文件?

原文由 Rohìt Jíndal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 646
2 个回答

您是否要专门将 info 记录到一个日志文件并将另一种日志类型记录到另一个位置?在这种情况下,我的解决方案可能无济于事,但仍然有用。

要将日志文件写入另一个位置,请使用方法 useDailyFilesuseFiles ,然后使用 info 将日志记录到您刚刚指定的路径的日志文件中。像这样:

     Log::useDailyFiles(storage_path().'/logs/name-of-log.log');
    Log::info([info to log]);

两种方法的第一个参数是日志文件的路径(如果它不存在则创建)和 useDailyFiles 第二个参数是 Laravel 在擦除旧日志之前记录的天数.默认值是无限制的,所以在我的示例中我没有输入值。

原文由 TimothyBuktu 发布,翻译遵循 CC BY-SA 3.0 许可协议

由于 Laravel >= 5.6 ,我们可以使用 Log Channels 使其以简单的方式工作。这允许您创建日志通道,这些通道可以作为具有自己的驱动程序、路径或级别的自己的日志文件来处理。您只需要这几行即可使其正常工作。

简单添加一个新频道(选择您的频道名称,例如“命令”)

配置/日志记录.php:

 return [
    'channels' => [
        'command' => [
            'driver' => 'single',
            'path' => storage_path('logs/command.log'),
            'level' => 'debug',
        ],
    ],
];


通过解析通道名称记录您想要的任何位置:

 Log::channel('command')->info('Something happened!');

原文由 lin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题