The MonologServiceProvider provides a default logging mechanism through Jordi Boggiano’s Monolog library.
It will log requests and errors and allow you to add logging to your application. This allows you to debug and monitor the behaviour, even in production.
monolog: The monolog logger instance.
Example usage:
$app['monolog']->addDebug('Testing the Monolog logging.');
$app->register(new Silex\Provider\MonologServiceProvider(), array(
'monolog.logfile' => __DIR__.'/development.log',
));
Note
Monolog comes with the “fat” Silex archive but not with the regular one. If you are using Composer, add it as a dependency to your composer.json file:
"require": {
"monolog/monolog": ">=1.0.0",
}
The MonologServiceProvider provides a monolog service. You can use it to add log entries for any logging level through addDebug(), addInfo(), addWarning() and addError():
use Symfony\Component\HttpFoundation\Response;
$app->post('/user', function () use ($app) {
// ...
$app['monolog']->addInfo(sprintf("User '%s' registered.", $username));
return new Response('', 201);
});
You can configure Monolog (like adding or changing the handlers) before using it by extending the monolog service:
$app['monolog'] = $app->share($app->extend('monolog', function($monolog, $app) {
$monolog->pushHandler(...);
return $monolog;
}));
Silex\Application\MonologTrait adds the following shortcuts:
$app->log(sprintf("User '%s' registered.", $username));
For more information, check out the Monolog documentation.