Logging
Apache 日誌記錄不起作用
從 2.2.7 升級到 Apache 2.4.9 後,日誌似乎無法正常工作。只有記錄的內容是 modsecurity 和 fcgid 事件,但 Apache 沒有任何類似文件未找到錯誤的內容。檢查 Apache error_log,特別是在重新啟動後,我注意到了這一點:
[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>
如果有人能對此有所了解,我將不勝感激。謝謝。
更新:已通過將 access_log 和 error_log 的權限更改為 777 來消除損壞的文件錯誤。但主要問題仍然存在,因為沒有記錄任何與 Apache 相關的錯誤(404、403 等)。
好吧,我想我已經想通了!解決方法是在 httpd.conf 中更改以下指令:
LogLevel warn
新值:
LogLevel info
顯然,Apache 2.4.9 中的一些錯誤日誌的重要性已經改變,因此像 404 這樣的錯誤日誌現在處於資訊級別,如下所述:http ://httpd.apache.org/docs/current/mod/core.html#loglevel