自分用めも

初心者ちっくなプログラムネタを中心に、自分用の覚え書きをメモっていくための場所です。

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)でいいはず。