0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelでログを出し分ける【初級編】

Posted at

通常ログとは別ファイルにログを出力する

はじめに

Laravelはデフォルトでログ出力機能が実装されていて、

HogeController.php
use Log;

public function index()
{
    Log::debug('これはデバッグ行');
}

このように記述するだけでログとして出力されます。

laravel-2020-07-21.log
[2020-07-21 00:00:00] local.DEBUG: これはデバッグ行

ログ出力を個別で設定してみる

設定ファイルはsrc/config/logging.phpになります

logging.php
    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => [
                'daily',
                'hogelogs' //ここを今回は追加
            ],
            'ignore_exceptions' => false,
        ],
...
...
...
        // 指定するログチャンネル設定を記述
        'hogelogs' => [
            'driver' => 'daily',
            'path' => storage_path('logs/hogelogs.log'),
            'level' => 'error',
            'days' => 14,
        ],

初級編なので(自分が初級ですからね:-)
もっと複雑な設定も出来るでしょう。
とりあえず通常ログファイルに全部出たらエラーデバッグがやりづらい!
エラーを追うのが面倒!!!
という事で設定してみました。

実際に出力してみよう

HogeController.php
use Log;

public function index()
{
    Log::debug('これはデバッグ行');
    Log::channel('hogelogs')->error('これはhogelogsに出力されます');
}

hogelogs-2020-07-21.log
[2020-07-21 00:00:00] local.ERROR: これはhogelogsに出力されます

簡単に出し分けられるのでsqlだけやAPI、batchで出力先を変えたいなど
遭遇する場面は多いと思います。

終わりに

今回は簡単な手法での紹介になりましたが、
設定する値で変わる(どう変わるかはまだ知らない)
ので、これからも勉強ですね

皆さんも色々とログ周り触ってみて、環境にあったログ設計を試してみてください。

#参考
https://qiita.com/K-Shuuun/items/37b7cc9a95030fe79494
https://qiita.com/hrdaya/items/b01d5621937a0710ca64

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?