Laravel・Lumenでログ出力先を変更する:その後

突然ですが、私のブログで最もアクセス数の多い記事は以下です。

Laravel・Lumenでログ出力先を変更する

せっかくなので、今回はこの記事の続編を書きます。

この当時、Laravelの最新バージョンは5.4だったと記憶していますが、現在は5.6です。
Laravelはマイナーバージョンアップであろうが新機能がガンガン入りますが、
5.6で個人的に一番嬉しかったのは「ログ関連の設定ファイル」ができたことでした。

公式スケルトンを参照いただくと、configディレクトリ下にlogging.phpというファイルがあります。
これがログ関連の設定ファイルです。

以前の記事では、独自のApplicationLogServiceProviderを用意して…と書いていましたが、
以下のように設定するだけで済むようになったのです。

#config/logging.php
return [
    /*
    |--------------------------------------------------------------------------
    | Default Log Channel
    |--------------------------------------------------------------------------
    |
    | This option defines the default log channel that gets used when writing
    | messages to the logs. The name specified in this option should match
    | one of the channels defined in the "channels" configuration array.
    |
    */
    'default' => env('LOG_CHANNEL', 'daily'),
    /*
    |--------------------------------------------------------------------------
    | Log Channels
    |--------------------------------------------------------------------------
    |
    | Here you may configure the log channels for your application. Out of
    | the box, Laravel uses the Monolog PHP logging library. This gives
    | you a variety of powerful log handlers / formatters to utilize.
    |
    | Available Drivers: "single", "daily", "slack", "syslog",
    |                    "errorlog", "custom", "stack"
    |
    */
    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['single'],
        ],
        'single' => [
            'driver' => 'single',
            'path' => '/path/to/test.log',
            'level' => 'debug',
        ],
        'daily' => [
            'driver' => 'daily',
            'path' => '/path/to/test.log', // こう書いても`/path/to/test-2018-03-13.log`というふうに出力してくれます
            'level' => 'debug',
            'days' => 7,
        ],
        'slack' => [
            'driver' => 'slack',
            'url' => env('LOG_SLACK_WEBHOOK_URL'),
            'username' => 'Laravel Log',
            'emoji' => ':boom:',
            'level' => 'critical',
        ],
        'syslog' => [
            'driver' => 'syslog',
            'level' => 'debug',
        ],
        'errorlog' => [
            'driver' => 'errorlog',
            'level' => 'debug',
        ],
    ],
];

利用できるドライバにSlackがあるあたり、流行を取り入れている感じがしてすごく良いですね。
他の変更点についてもこちらで丁寧に説明されているので、Laravelを利用されている方は一度ご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA