JsonFormatter::class, 'constructor' => [ 'format' => null, 'dateFormat' => 'Y-m-d H:i:s', 'allowInlineLineBreaks' => true, ], ] : [ 'class' => LineFormatter::class, 'constructor' => [ 'format' => "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n", 'dateFormat' => 'Y-m-d H:i:s', 'allowInlineLineBreaks' => true, ], ]; $loggers = [ 'default', 'sql', 'request', 'crontab', 'queue', 'timer', 'job', 'some', 'amqp' ]; $logLevel = $isProduction ? $productionLogLevel : LogLevel::INFO; $config = []; foreach ($loggers as $loggerName) { $handler = $isProduction ? [ 'class' => AliSlsHandler::class, 'constructor' => [ 'filename' => BASE_PATH . sprintf('/runtime/logs/%s/%s.log', $loggerName, $loggerName), 'level' => $logLevel, 'maxFiles' => 30, ], ] : [ 'class' => RotatingFileHandler::class, 'constructor' => [ 'filename' => BASE_PATH . sprintf('/runtime/logs/%s/%s.log', $loggerName, $loggerName), 'level' => $logLevel, 'maxFiles' => 30, ], ]; $config[$loggerName] = [ 'handler' => $handler, 'formatter' => $formatter, 'processors' => [ [ 'class' => AppendRequestIdProcessor::class, ], ], ]; } return $config;