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

Как настроить строки журнала ошибок nginx (без указания даты, времени и серьезности)?

Я настроил журнал ошибок моего сервера nginx следующим образом:

error_log syslog:server=unix:/dev/log,nohostname,tag= notice;

Это приводит к следующему типу строк журнала (в журнале systemd):

apr 11 22:54:37 hostname [616892]: 2020/04/11 22:54:37 [notice] 616892#0: using the "epoll" event method
apr 11 22:54:37 hostname [616892]: 2020/04/11 22:54:37 [notice] 616892#0: nginx/1.16.1
apr 11 22:54:37 hostname [616892]: 2020/04/11 22:54:37 [notice] 616892#0: OS: Linux 5.4.28
apr 11 22:54:37 hostname [616892]: 2020/04/11 22:54:37 [notice] 616892#0: getrlimit(RLIMIT_NOFILE): 1024:524288
apr 11 22:54:37 hostname [616893]: 2020/04/11 22:54:37 [notice] 616893#0: start worker processes
apr 11 22:54:37 hostname [616893]: 2020/04/11 22:54:37 [notice] 616893#0: start worker process 616895

Все до первого двоеточия (apr 11 22:54:37 hostname [616892] в примере) взято из системы журналов ОС (журнал systemd), а то, что ниже, предоставлено nginx (например, 2020/04/11 22:54:37 [notice] 616892#0: nginx/1.16.1). Как видите, nginx предоставляет дату, а также серьезность (notice в примере). Оба уже записаны системой регистрации ОС. Поэтому я хотел бы проинструктировать nginx не добавлять эту информацию (2020/04/11 22:54:37 [notice]) в строки журнала. Однако я не выяснил, возможно ли это и как. Я знаю что log_format директива существует, но она применяется только к журналу доступа, AFAIK.)

Следовательно, Можно ли настроить строки журнала ошибок, генерируемые nginx?

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

Для журнала ошибок вы можете изменить только уровень ведения журнала.

К сожалению, date [level] pid#tid message шаблон журнала (т.е. все, что вы найдете после первого двоеточия :) жестко запрограммирован в Nginx (ср. исходный код). Вы не сможете изменить его через конфигурацию, вам нужно перекомпилировать сервер.

Что вы можете изменить (а вы уже делаете это), это только системный журнал метаданные:

  • вы можете отключить отправку имени хоста с помощью nohostname,
  • вы можете изменить SYSLOG_IDENTIFIER с tag=identifier вариант

и это все.