/**
  * @param \Silex\Application $app
  *
  * @return void
  */
 public function register(Application $app)
 {
     if ((int) Config::get(ApplicationConstants::LOG_LEVEL) === 0) {
         return;
     }
     $app['logger'] = function () use($app) {
         return $app['monolog'];
     };
     $app['monolog.logger.class'] = 'Monolog\\Logger';
     $app['monolog'] = $app->share(function ($app) {
         $log = new $app['monolog.logger.class']($app['monolog.name']);
         $log->pushHandler($app['monolog.handler']);
         if ($app['debug']) {
             $log->pushHandler($app['monolog.handler.debug']);
         }
         return $log;
     });
     $app['monolog.logfile'] = function () {
         return Log::getFilePath('message.log');
     };
     $app['monolog.handler.debug'] = function () use($app) {
         return new StreamHandler($app['monolog.logfile'], $app['monolog.level']);
     };
     $app['monolog.handler'] = function () use($app) {
         return new EventJournalHandler($app['monolog.level']);
     };
     $app['monolog.level'] = function () {
         return Logger::INFO;
     };
     $app['monolog.name'] = 'yves';
 }