首页 > 解决方案 > 如何在 laravel 中创建多个日志文件?

问题描述

像状态本身一样,我想为不同的进程创建多个日志文件。我正在使用 Laravel-8。我还借助配置文件夹中的 logging.php 创建了 1 个日志记录文件。

我想用他们自己单独的日志文件来跟踪我创建的命令。

如何为该命令创建单独的日志文件?

我通过每天只有一个日志来做到这一点。“配置/记录.php”

'channels' => [
    'stack' => [
        'driver' => 'stack',
        'channels' => ['daily'],
        'ignore_exceptions' => false,
    ]...,
 ]

标签: laravel

解决方案


您应该使用config/logging.php为每个命令创建自定义通道,例如

    'CHANNEL_NAME' => [
        'driver' => 'single',
        'path' => storage_path('logs/LOG_FILE_NAME.log'),
        'level' => 'DESIRED_LEVEL', 
    ],

并根据需要更改CHANNEL_NAME,LOG_FILE_NAMEDESIRED_LEVEL值。

注意: 'level' => 'DESIRED_LEVEL'是可选的。它可以是单个级别或级别数组(laravel v8.x)

然后,当您想在命令类中记录任何内容时,记录如下代码

用法:

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

推荐阅读