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の説明がもうちょっと欲しいところ。まぁ、コードを読まない/読めない(コピペで済ます)レベルの人お断りっていうスタンスでいくなら、それもありかと。