オブジェクト指向を勉強してみる4
- perlのロギング用モジュールを作ってみる。なぜかPPでローテートを備えているモジュールがないみたいなので。いまのところ要求仕様は以下のとおり。
- とにかくログに書けて、それをローテートできること。
- ローテートしたファイルをgzでcompressできるとなお良い。
- ログレベルとか
- pidも一緒に出力されるといいな
- log4perlはなんか使うのにめんどくさそうだけど、実装としては見本になりそう
- モジュール名は…?
- 確実に書けたことを保証するために sync っぽいことをする。
- ファイルハンドルをめぐる冒険(ただしマニア向け) - daily dayflowerファイルハンドルはどれがベターか
とりあえず版
tmp/log.pl at master from ymko's LogStocking - GitHub
$ git clone git@github.com:ymko/LogStocking.git $ cd LogStocking/tmp/ $ perl log.pl $ cat /tmp/a.log Jan 01 01:22:50 test Jan 01 01:22:50 [INFO] infoo Jan 01 01:22:50 [INFO] info_logger_config() Jan 01 01:22:50 [INFO] compress=NONE Jan 01 01:22:50 [INFO] is_pid=no Jan 01 01:22:50 [INFO] level=ALL Jan 01 01:22:50 [INFO] logfile=/tmp/a.log Jan 01 01:22:50 [INFO] logsize=0 Jan 01 01:22:50 [INFO] rotate=0