Laravel7 ログ(logging.php)のstackとは?

デフォルトチャンネルがstackになっており、他のチャンネルと同じように並べられているから分かりづらい。
このstack自体はチャンネルではない。
例えば、notice以上のログはファイルに書き出し、emergencyのログはslackで通知したい場合、2つのチャンネルが必要になる。
しかし、envファイルに設定するLOG_CHANNELには1つしか設定できないので、LOG_CHANNELにはstackを指定し、stackの中の’channels’で [‘single’, ‘slack’]のように設定し複数出力を実現する。
つまり、複数のチャンネルを束ねるものがstackである。

1つしかチャンネルを使わない場合

envファイル         config/logging.php
LOG_CHANNEL=single ——-┐ ’channels’ => [
             └—> ‘singles’ =>[
                  ・
                 ファイル出力
                  ・
                ]
               ]

複数チャンネルを使いたい場合

envファイル         config/logging.php
LOG_CHANNEL=stack ——–┐ ’channels’ => [
             └—> ‘stack’ =>[
                 ‘channels’ => [‘single’, ‘slack’], -┐
                  ・             |
                  ・             |
                  ・             |
                ],              | 
                ’single’ =>[ <—————————-┤
                  ・             |
                 ファイル出力         |
                  ・             |
                ],              | 
                ’slack’ =>[ <—————————–┘
                  ・
                 slack通知
                  ・
                ]
              ],

返信を残す

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