如何在 Laravel 中创建多个日志文件?

MHE*_*INT 1 laravel

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

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

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

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

'channels' => [
    'stack' => [
        'driver' => 'stack',
        'channels' => ['daily'],
        'ignore_exceptions' => false,
    ]...,
 ]
Run Code Online (Sandbox Code Playgroud)

Rah*_*isi 7

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

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

并根据需要更改CHANNEL_NAMELOG_FILE_NAME值。DESIRED_LEVEL

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

然后,当您想在命令类中记录任何内容时,请像下面的代码一样记录

用法:

    Log::channel('CHANNEL_NAME')
        ->info('Something happened!');
Run Code Online (Sandbox Code Playgroud)