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

Ведение журнала Apache не работает

После обновления с 2.2.7 до Apache 2.4.9 кажется, что ведение журнала не работает должным образом. Регистрируются только события modsecurity и fcgid, но ничего от Apache, как ошибки, связанные с отсутствием файла. Проверяя журнал ошибок Apache, особенно после перезагрузки, я заметил следующее:

[Sun Jul 13 05:16:10.482003 2014] [log_config:warn] [pid 30283:tid 140001085970176] (32)Broken pipe: [client 125.166.227.47:26260] AH00646: Error writing to |/usr/local/cpanel/bin/splitlogs --main=server.mysite.com --suffix=-bytes_log
[Sun Jul 13 05:16:10.482047 2014] [log_config:warn] [pid 30283:tid 140001085970176] (32)Broken pipe: [client 125.166.227.47:26260] AH00646: Error writing to |/usr/local/cpanel/bin/splitlogs --main=server.mysite.com --mainout=/usr/local/apache/logs/access_log

Я понятия не имею, что означает «сломанная труба». Я включил ведение журнала по конвейеру (которое было включено до обновления Apache). Пытался отключить его, но получил то же самое, и ничего не зарегистрировано. Проверил файл httpd.conf в разделе журнала по сравнению со старым файлом conf, но, похоже, не нашел ничего другого:

<IfModule mod_log_config.c>
    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedvhost
    LogFormat "%v %{%s}t %I .\n%v %{%s}t %O ." bytesvhost
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent

    CustomLog "|/usr/local/cpanel/bin/splitlogs --main=server.mysite.com --suffix=-bytes_log" bytesvhost
    CustomLog "|/usr/local/cpanel/bin/splitlogs --main=server.mysite.com --mainout=/usr/local/apache/logs/access_log" combinedvhost

</IfModule>

Я был бы признателен, если бы кто-нибудь мог пролить свет на это. Спасибо.

ОБНОВЛЕНИЕ: ошибка сломанного файла была устранена путем изменения perms на 777 для access_log и error_log. Однако основная проблема все еще сохраняется, поскольку ни одна из ошибок, связанных с Apache (404, 403 и т. Д.), Не регистрируется.

Хорошо, думаю, я понял это! И исправление заключалось в изменении в httpd.conf следующей директивы:

LogLevel warn

новое значение:

LogLevel info

По-видимому, значимость некоторых журналов ошибок была изменена в Apache 2.4.9, поэтому журналы ошибок, такие как 404, теперь находятся на информационном уровне, как описано здесь: http://httpd.apache.org/docs/current/mod/core.html#loglevel