Назад | Перейти на главную страницу

Как изменить формат метки времени в журналах ошибок?

Я бы хотел, чтобы метки времени в журналах ошибок Nginx были такими же, как и в журналах доступа.

Время ошибки имеет формат Y/m/d H:i:s тогда как журналы доступа позволяют мне:

Есть ли способ настроить журналы доступа на использование формата журнала ошибок или наоборот?

Я использую Nginx 1.10.1 на CentOS 7.


Обновить:

Поскольку мой вопрос был отклонен, я постараюсь быть предельно ясным -

В access_log Директива позволяет мне определять метку времени, используемую в журналах доступа, хотя, похоже, у меня есть только два варианта формата. например:

log_format foo '[$time_local] "$request" $status ..';
log_format bar '[$time_iso8601] "$request" $status ..';

Затем я могу применить эти форматы для доступа к журналам следующим образом:

access_log foo.log foo;
access_log bar.log bar;

Просмотр всех журналов показывает разные форматы времени, например

==> foo.log <==
[29/Sep/2016:10:20:48 +0100] "GET /fail HTTP/1.1" 404 ..

==> bar.log <==
[2016-09-29T10:20:48+01:00] "GET /fail HTTP/1.1" 404 ..

==> error_log <==
2016/09/29 10:37:52 [error] .....  No such file or directory

Ни то, ни другое $time_local ни $time_iso8601 соответствуют формату, используемому в стандартном журнале ошибок Nginx. Я пытался решить эту проблему двумя способами:

  1. Настройте ведение журнала ошибок для использования $time_locale или $time_iso8601.
    ~ Мне не удалось найти директивы, которая могла бы это сделать.
  2. Настройте формат времени журнала доступа в соответствии с форматом времени журнала ошибок.
    ~ Мне не удалось найти никаких переменных, которые могли бы это сделать.

Я не привязан к какому-либо конкретному формату времени, но я хотел бы, чтобы они совпадали в моих журналах ошибок, поскольку это экономит мне время при перекрестных ссылках на доступ и записи журнала ошибок.

Если кто-нибудь знает, как достичь 1 или 2 выше, я хотел бы знать. Спасибо.

К сожалению, кажется, что изменить error_log формат, по крайней мере, согласно этот и этот.

Также не представляется возможным изменить формат поля времени в журналах доступа, поэтому я думаю, что вам не повезло с чисто NGINX-решением.

Тем не менее, должна быть возможность отправить их оба в системный журнал и надеяться, что он использует тот же формат или, по крайней мере, предоставит вам лучшие варианты.