psgi/starletで、サーバ自体のログを月別に出したかったメモ
やっぱりlogrotate使うことにしたけど、せっかく調べたのでめも
start_serverのオプションで「--log-file」を指定する
start_server \ --signal-on-hup=USR1 \ --log-file="| xargs -I{} /srv/www/script/allocate_log.pl {}" \
ログファイルにはもちろん直接ファイル名を指定できるけど、
標準出力を指定スクリプトにパイプすることも出来る。
allocate_log内では、%y%m.logな感じのファイルにただprintしている。
調べたのは「-l{} script{}」の指定で、これを行わないと標準出力がバッファされてしまう。
即時flashするためにこの方法を使う。
これでcronとか無しで、月別に別ファイルにログが出力される。
試してないけど、cronと併用するなら単純に「--log-file="`date '+%Y%m'`.log"」で指定して再起動(USR1)でいいはず。