2014/10/18

Silexのログに項目を追加する

PHPのマイクロフレームワークの1つである Silexでログを切り替える話を Silexのロギングを変更する | Hiroaki's blogでまとめたのだが、今回は、そのログに出力する項目を増やす話。

Silexはログ出力にmonologを使うのため、MonologServiceProvider | Japan Symfony Groupというものを用意している。これに、ログの項目を増やすための口が用意されているのだが、日本語のドキュメントには書いてなさそう。まぁ、monologに用意されている機能をうまくwrapしているのだが。
monologのProcessorがそれ。既にいくつか用意されているし、コードを見た感じ、独自のものを作るのも、それほど大変ではなさそう。
Silexからは、pushProsessor()を使う。こんな感じ。

$app['monolog'] = $app->share($app->extend('monolog', function($monolog, $app) {
 $monolog->pushProcessor(new ProcessIdProcessor($app['monolog.level']));
 $monolog->pushProcessor(new WebProcessor());
 return  $monolog;
}));
ProcessIdProcessor()のように、引数が必要なものもあるので、コードをみて判断。
わかってしまえばドキュメントにするほどのものでもないのだろうけど、SilexのxxxProviderの説明がもうちょっと欲しいところ。まぁ、コードを読まない/読めない(コピペで済ます)レベルの人お断りっていうスタンスでいくなら、それもありかと。



0 件のコメント :

コメントを投稿

Comments on Google+: