В моем приложении у меня есть следующие каналы журнала:
'general' => [
'driver' => 'single',
'path' => storage_path('logs/general.log'),
'level' => 'debug',
],
'jobs' => [
'driver' => 'stack',
'channels' => [
'general',
'slack'
],
],
'slack' => [
'driver' => 'slack',
'url' => /*Censored Hook URL*/,
'username' => 'MyApp',
'emoji' => ':gear:',
'level' => 'debug',
],
Когда я вхожу в канал job
, я не хочу входить в журнал slack
при локальной или тестовой среде, чтобы избежатьдубликаты и крайне нежелательные журналы в общем канале журналов на слабине.
Итак, как я могу указать среды, в которых канал slack
сможет записывать журналы. Грязный подход состоит в том, чтобы вручную указывать, в какие журналы будет записываться следующий фрагмент кода:
if(!App::environment(['local','testing')){
Log::channel('jobs')->info('Blah blah blah');
} else {
Log::channel('general')->info('Blah blah blah');
}
Но, используя приведенный выше код, я боюсь, что это превратит мою кодовую базу в непростую для чтенияодин. Так знаете ли вы элегантное решение для обработки моих журналов?