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

nginx добавляет данные для доступа к журналу при использовании syslog

Используя следующий формат и конфигурацию журнала доступа:

log_format syslog '{"hi2u":true,"request_time":"$request_time","@timestamp":"$time_iso8601", "request_id":"$http_x_request_id", "token":"$token"}';

access_log syslog:server=localhost:9000 syslog;

Я получаю это сообщение на порту 9000 при использовании netcat:

<190> 29 августа, 06:17:03 nginx для всех пользователей: {"hi2u": true, "request_time": "0.000", "@ timestamp": "2017-08-29T06: 17: 03-07: 00", "request_id": "-", "token": "abcdef123456789 "}

Если я посмотрю в исходный код nginx, я вижу, что похоже на добавляемый здесь заголовок:

https://github.com/nginx/nginx/blob/master/src/http/modules/ngx_http_log_module.c#L360

Кто-нибудь знает, как отключить там заголовок, чтобы отображался только log_format? Я представляю, что это, вероятно, просто формат системного журнала, в спецификации которого я не знаю :)

Я закомментировал эту строку, и я ожидаю такого поведения :)

if (log[l].syslog_peer) {
    // p = ngx_syslog_add_header(log[l].syslog_peer, line);
}

Еще один любезно предоставлен Алексием. Добавляем его сюда, чтобы люди его видели:

Это часть PRI протокола syslog tools.ietf.org/html/rfc3164#section-4.1.1