とっても久々なPHP。
Apache log4php - LoggerAppenderRollingFile - Apache log4php
PHPのロギング用ライブラリ。でもね、調べたんだけど、
- デフォルトはapplication.log
- 前日以前のログはapplication.log.YYYY-MM-DD.gzで固める
- 一定より昔のログは消す
こういう感じのログローテーションってlog4phpでは出来ないんだよね。
application.log.2016-05-07.gz application.log.2016-05-08.gz application.log.2016-05-09.gz application.log.2016-05-10.gz application.log.2016-05-11.gz application.log
似たようなのにLoggerAppenderDailyFileっていうのがあるんだけど、こういう感じのログしか作れないんだよ。しかも古いのは消せない。
application.log.2016-05-07 application.log.2016-05-08 application.log.2016-05-09 application.log.2016-05-10 application.log.2016-05-11 application.log.2016-05-12
さらに似たようなのにLoggerAppenderRollingFileっていうのがあるんだけど、古いファイルは消せるんだけどバックアップファイルはナンバリングしか出来ないんだ。
application.log.4 application.log.3 application.log.2 application.log.1 application.log
つらい。確かに同じことをするためにはシェル芸とcronでごにょごにょしたらいいよ。いいんだけど、ログのローテートの設定ってアプリケーションの中で完結させたいと思いませんか?Ansibleとかでcron設定を撒くならまだしも、本番サーバに入って直接作業するのは嫌です。
これは、つまり、お前が開発者になるんだよ!と誰かが囁いているんだろうか。