2014/09/21

Silex(Monolog)のロギングを変更する

Homepage - Silex - The PHP micro-framework based on Symfony2 Components のロギングとして、MonologServiceProvider | Japan Symfony Groupというものがあり、通常はこれを使う。
しかしこのロギング、指定したファイルに延々と書き続けるもので、日ごとにファイルをわけたり、ファイル以外の所に書き出したりできない。
元となる Seldaek/monolog · GitHubには、 Handlerという形で、メールに飛ばしたり、DBに書き込んだりする機能が用意されているので、それらを使う方法はないだろうか?

MonologServiceProvider 設定に変更する例が載っていたので、pushHandler()でRotatingFileHandlerを登録してみた。
確かに、日ごとにログファイルが分割されるのだが、相変わらず分割されないファイルにもログが書き出される。これは、変更ではなく、追加だ。

結局
$app[monolog.handler] = function() use ($app){ return new XXXhandler();};
として、無理矢理書き換えているのだが、イマイチな感じがする。

RotatingFileHandlerを使わずに外部のログのローテーションの仕組みを使え!と書いてあるのだが、今回、Windowsで動かすので、そういった当たり前の機能が見当たらない。外部コマンドで用意すべきなんだろうけど、そこはWindowsと*nixの思想の違いということで。


0 件のコメント :

コメントを投稿

Comments on Google+: