たまにはお仕事の話。
Apacheの「rotatelogs」を利用している人はhttpd.confの設定に気をつけるべし。
貴方のhttp.confでは、こんな記述になっていないだろうか?
TransferLog /logs/access.log
TransferLog /logs/error.logTransferLog "| /apache/bin/rotatelogs /logs/access.log 604800"
TransferLog "| /apache/bin/rotatelogs /logs/error.log 604800"
こんな記述の人は要注意。
こう記述しているとaccess.logの内容がerror.logにも出力されてしまう。
正しくは以下。
TransferLog /logs/access.log
ErrorLog /logs/error.logTransferLog "| /apache/bin/rotatelogs /logs/access.log 604800"
ErrorLog "| /apache/bin/rotatelogs /logs/error.log 604800"
要はログローテートする対象のファイルが複数ある場合は、「Logディレクティブ」を別々にしなさいってこった。
これ、実は@ITにすら間違って載ってしまっている。自分も騙されました。
皆様お気をつけて。。。