Exemple #1
0
 public function testHandler()
 {
     // ハンドラ作成
     $handler = Handler::create(['type' => 'stream', 'path' => 'php://stderr', 'level' => 'warning']);
     $logger = Logger::create('Nora');
     $logger->addHandler($handler);
     $this->allMessages($logger);
 }
Exemple #2
0
 /**
  * ロガーをビルドアップする
  */
 public static function build($options)
 {
     $options = Hash::create($options, Hash::OPT_ALLOW_UNDEFINED_KEY_GET);
     $logger = self::create($options->getVal('name', 'Nora'));
     foreach ($options->getVal('handlers', []) as $h) {
         $logger->addHandler(Handler::create($h));
     }
     if ($options->getVal('withPHPError', false)) {
         // ハンドラ系の登録
         set_error_handler([$logger, 'phpErrorHandler']);
         set_exception_handler([$logger, 'phpExceptionHandler']);
         register_shutdown_function([$logger, 'phpShutdownHandler']);
     }
     if ($options->getVal('asMainLogger', false)) {
         Nora::setLogger($logger);
     }
     return $logger;
 }