だいぶ前に設定してgist
残してたけど、改めて設定する機会があったのでメモ

環境は
OS CentOS 6.3
nginx 1.2.5

cronologとnginxはyumでインストールした。

/etc/init.d/nginx

nginxの起動スクリプトに起動時にmkfifoでパイプを作るのとcronologの起動を設定する

cronolog_startでpipeを作ったり消したりしてるのは、何かの拍子でパイプのパスに
ファイルが出来てしまった場合に備えて。

 
cronolog_start() {

if ! [ -p $logdir/access_log_pipe ]; then
rm -f $logdir/access_log_pipe
rm -f $logdir/error_log_pipe
mkfifo $logdir/access_log_pipe
mkfifo $logdir/error_log_pipe
fi

/bin/sh -c "/bin/cat $logdir/access_log_pipe | $cronolog $logdir/%Y/%m/%d/access_log &"
/bin/sh -c "/bin/cat $logdir/error_log_pipe | $cronolog $logdir/%Y/%m/%d/error_log &"
}



/etc/nginx/nginx.confの設定
ログの書き出し先を上で設定したパイプのファイルにする。

 
access_log /var/log/nginx/access_log_pipe main;
error_log /var/log/nginx/error_log_pipe warn;


以上