У меня очень простой вопрос, я гость, но я не могу найти ответ на него в документации.
Вот как я сейчас регистрирую информацию:
$logger->debug('user_id: ', [Auth::id()]);
$logger->debug('requested_url: ', [$request->getRequestUri()]);
$logger->debug('requested_method: ', [$request->getMethod()]);
$logger->debug('referer_url: ', [$request->headers->get('referer')]);
$logger->debug('date_and_time: ', [Carbon::now()->toDateTimeString()]);
$logger->debug('error_message: ', [$exception->getMessage()]);
$logger->debug('http_status_code: ', [$this->prepareResponse($request, $exception)->getStatusCode()]);
$logger->debug($exception->getMessage(), ['stack_trace' => $exception->getTraceAsString()]);
Но мне нужно сделать это в одну строку. Я хочу видеть в логах 1 сообщение, связанное с ошибкой.
[2018-02-15 13:31:19] local.DEBUG: user_id: [null]
[2018-02-15 13:31:19] local.DEBUG: requested_url:["/css/bootstrap.css.map"]
[2018-02-15 13:31:19] local.DEBUG: requested_method: ["GET"]
[2018-02-15 13:31:19] local.DEBUG: referer_url: [null]
[2018-02-15 13:31:19] local.DEBUG: date_and_time: ["2018-02-15 13:31:19"]
[2018-02-15 13:31:19] local.DEBUG: error_message: [""]
[2018-02-15 13:31:19] local.DEBUG: http_status_code: [404]
[2018-02-15 13:31:19] local.DEBUG: {"stack_trace":"#0 }
Как мне это сделать?
От документы:
Массив контекстных данных также может быть передан в методы журнала. Эти контекстные данные будут отформатированы и отображены в сообщении журнала:
Log::info('User failed to login.', ['id' => $user->id]);
Итак, вы можете сделать это:
$logger->debug('The error message', [
'user_id' => Auth::id(),
'requested_url' => $request->getRequestUri(),
....
]);
Других решений пока нет …