コマンドラインから実行したときのログファイル

権限をどうするのかが煩わしい…

作成日:2024-08-01, 更新日:2024-08-01

問題点

ブラウザからアクセスしたときに使うログファイルの所有者は「apache」
コマンドラインから実行したときログファイルの権限が無い…と言われる

対応策

面倒だったら権限を「777」にしておけばいいんだろうけど…ログを分けたい…という気持ちもあるのでやってみる

ログファイルの振り分け

設定例

▼config/logging.php

// 省略

'channels' => [
    // 省略

    'command' => [
        'driver' => 'single',
        'path' => storage_path('logs/command.log'),
        'level' => env('LOG_LEVEL', 'debug'),
    ],

    // 省略
  ],
// 省略

出力方法

logger()->channel('command')->info('xxxx');
// Log::channel('command')->info('xxxx'); // こっちだと「use Log;」が必要