Re: Логирование в один файл из разных server

Maxim Dounin mdounin at mdounin.ru
Tue Apr 28 19:19:02 UTC 2015


Hello!

On Tue, Apr 28, 2015 at 11:18:26AM -0400, BieZax wrote:

> Добрый  день.
> 
> Сейчас имеется  такая структура:
> server{
> access_log /var/log/nginx_a.log;
> location / {
> proxy_pass http://127.0.0.1:8080/
> }
> location /1/ {
> access_log /var/log/nginx_b.log;
> proxy_pass http://be/;
> }
> }
> server{
> listen 127.0.0.1:8080;
> access_log /var/log/nginx_b.log;
> proxy_pass http://be/;
> }
> Если  запрос не попал  в  локейшен  первого сервера, то он проезжает на
> второй  сервер   и отправляется на  бекэнд, если попал  в  локейшен , то
> напрямую отправляется на бекэнд.  Проблема в том, что    на  бекэнде  был 
> зафиксирован  запрос, который не отразился в /var/log/nginx_b.log,  но при 
> этом  был в /var/log/nginx_a.log.  Можно  ли писать  в один файл  из  разных
> server?  Не  будет  ли  проблем,  при  записи  access  лога на разных 
> уровнях (server,location)?

Можно, проблем быть не должно.

Если что-то не пишется - это либо ошибка в системе, либо ошибка в 
nginx'е, либо ошибка в вашем понимании того, что и куда должно 
писаться.  E.g., в приведённом конфиге запросы, отправленные на 
бекенд, могут не попадать в nginx_b.log, если также используется 
обработка ошибок с помощью директивы error_page.

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru