Silexを試してみた(5) - Logging
SilexのMonologServiceProviderを使ってログを出力する。
Monologのインストール
slim版にMonologは含まれていないので、composerを使ってインストールする。
composer.jsonを
{
"require": {
"silex/silex": "~1.1",
"twig/twig": ">=1.8,<2.0-dev",
"symfony/twig-bridge": "~2.3",
"monolog/monolog": ">=1.0.0"
}
}
のように編集して、composer.pharを実行する。
$ ./composer.phar update
Service Providerの登録
Silex\Application
のregister
メソッドで登録する。
$app->register(new Silex\Provider\MonologServiceProvider(), array(
'monolog.logfile' => __DIR__.'/../var/log/application.log',
'monolog.level' => 'DEBUG',
));
monolog.logfile
は、ログの出力先ファイル。
monolog.level
は、出力するログのレベル。
ログ出力
$app['monolog']
にService Providerが登録されており、ログレベルによって異なるメソッドを使用する。
$app->get('/', function(Application $app) {
$app['monolog']->addDebug('log debug');
$app['monolog']->addInfo('log info');
$app['monolog']->addWarning('log warning');
$app['monolog']->addError('log warning');
return 'index';
});