common access_log, trouble
Maxim Dounin
mdounin на mdounin.ru
Пт Фев 19 19:10:18 MSK 2010
Hello!
On Fri, Feb 19, 2010 at 03:30:56PM +0200, Sergej Kandyla wrote:
>
> Добрый день.
> Хочу для всех описанных server вести один дополнительный общий access_log,
> но если access_log уже задан на уровне определенного server,
> то в общий access_log (заданный в контексте http) ничего не попадает.
>
>
> nginx 0.7.65
>
> http {
> access_log /var/log/nginx/access.all.log main_custom;
>
> ...
> server {
> listen 80;
> server_name example;
> access_log /var/log/nginx/example.access.log main;
>
>
> не хотелось бы для каждого из server дублировать один общий access.log...
>
> баг, фича, моя глупость?
Все директивы конфига задающие массивы (access_log,
proxy_set_header, fastcgi_param, ...) ведут себя одинаково:
1. Если на данном уровне конфига соответствующий массив не
трогается - весь массив наследуется с предыдущего уровня.
2. Если на данном уровне массив трогается - используется новый,
чистый массив.
Подобное поведение полностью соответствует поведению остальных
директив. Таким образом конструкции вида
server {
access_log /path/to/access_log;
error_log /path/to/error_log;
location /something {
access_log /path/to/another/access_log;
error_log /path/to/another/error_log;
...
}
...
}
работают совершенно одинаково и предсказуемо - переопределяют логи
для конкретного location'а. И можно не думать о том что
access_log'ов вообще говоря можно определить несколько, а
несколько error_log'ов определить нельзя.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru