public static function getLoggerLevel($level)
 {
     switch (strtolower($level)) {
         case 'trace':
             $level = LoggerLevel::getLevelTrace();
             break;
         case 'debug':
             $level = LoggerLevel::getLevelDebug();
             break;
         case 'warn':
             $level = LoggerLevel::getLevelWarn();
             break;
         case 'error':
             $level = LoggerLevel::getLevelError();
             break;
         case 'fatal':
             $level = LoggerLevel::getLevelFatal();
             break;
         case 'info':
         default:
             $level = LoggerLevel::getLevelInfo();
             break;
     }
     return $level;
 }
 public function testWarnLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutXml", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $layout = new LoggerLayoutXml();
     $v = $layout->format($event);
     $e = "<log4php:event logger=\"TEST\" level=\"WARN\" thread=\"" . $event->getThreadName() . "\" timestamp=\"" . number_format((double) ($event->getTimeStamp() * 1000), 0, '', '') . "\">" . PHP_EOL . "<log4php:message><![CDATA[testmessage]]></log4php:message>" . PHP_EOL . "<log4php:locationInfo class=\"LoggerLoggingEvent\" file=\"NA\" line=\"NA\" " . "method=\"getLocationInformation\" />" . PHP_EOL . "</log4php:event>\n" . PHP_EOL;
     self::assertEquals($v, $e);
 }
 public function testWarnLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutHtmlTest", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $layout = new LoggerLayoutHtml();
     $v = $layout->format($event);
     $e = PHP_EOL . "<tr>" . PHP_EOL . "<td>" . round(1000 * $event->getRelativeTime()) . "</td>" . PHP_EOL . "<td title=\"" . $event->getThreadName() . " thread\">" . $event->getThreadName() . "</td>" . PHP_EOL . "<td title=\"Level\"><font color=\"#993300\"><strong>WARN</strong></font></td>" . PHP_EOL . "<td title=\"TEST category\">TEST</td>" . PHP_EOL . "<td title=\"Message\">testmessage</td>" . PHP_EOL . "</tr>" . PHP_EOL;
     self::assertEquals($v, $e);
 }
 public function testWarnLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutXml", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $v = $this->formatEvent($event, $this->pattern);
     $dt = $this->getEventDateTime($event);
     $e = "{$dt} WARN  TEST (LoggerLayoutXml): testmessage in NA at NA" . PHP_EOL;
     self::assertEquals($e, $v);
 }
 public function testSimpleDefaultLogging()
 {
     $layout = new LoggerLayoutSimple();
     $event = new LoggerLoggingEvent('LoggerAppenderConsoleTest', new Logger('mycategory'), LoggerLevel::getLevelWarn(), "my message");
     $appender = new LoggerAppenderConsole("mylogger");
     $appender->setLayout($layout);
     $appender->activateOptions();
     $appender->append($event);
     $appender->close();
 }
 public function testConfigureWithRootCategory()
 {
     Logger::configure('configurators/test3.properties');
     $root = Logger::getRootLogger();
     self::assertEquals(LoggerLevel::getLevelWarn(), $root->getLevel());
     $appender = $root->getAppender("default");
     self::assertTrue($appender instanceof LoggerAppenderEcho);
     $layout = $appender->getLayout();
     self::assertTrue($layout instanceof LoggerLayoutSimple);
 }
 public function testConfigure()
 {
     Logger::configure('configurators/test1.php', 'LoggerConfiguratorPhp');
     $root = Logger::getRootLogger();
     self::assertEquals(LoggerLevel::getLevelWarn(), $root->getLevel());
     $appender = $root->getAppender("default");
     self::assertTrue($appender instanceof LoggerAppenderEcho);
     $layout = $appender->getLayout();
     self::assertTrue($layout instanceof LoggerLayoutSimple);
     $logger = Logger::getLogger('mylogger');
     self::assertEquals(LoggerLevel::getLevelInfo(), $logger->getLevel());
 }
 public function testPhp()
 {
     $appender = new LoggerAppenderPhp("TEST");
     $layout = new LoggerLayoutSimple();
     $appender->setLayout($layout);
     $appender->activateOptions();
     $event = new LoggerLoggingEvent("LoggerAppenderPhpTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $appender->append($event);
     $event = new LoggerLoggingEvent("LoggerAppenderPhpTest", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $appender->append($event);
     $event = new LoggerLoggingEvent("LoggerAppenderPhpTest", new Logger("TEST"), LoggerLevel::getLevelDebug(), "testmessage");
     $appender->append($event);
 }
 public function testDecide()
 {
     $filter = new LoggerFilterDenyAll();
     $eventError = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $eventDebug = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelDebug(), "testmessage");
     $eventWarn = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $result = $filter->decide($eventError);
     self::assertEquals($result, LoggerFilter::DENY);
     $result = $filter->decide($eventDebug);
     self::assertEquals($result, LoggerFilter::DENY);
     $result = $filter->decide($eventWarn);
     self::assertEquals($result, LoggerFilter::DENY);
 }
 public function append(LoggerLoggingEvent $event)
 {
     $level = $event->getLevel();
     if ($level->isGreaterOrEqual(LoggerLevel::getLevelError())) {
         trigger_error($this->layout->format($event), E_USER_ERROR);
     } else {
         if ($level->isGreaterOrEqual(LoggerLevel::getLevelWarn())) {
             trigger_error($this->layout->format($event), E_USER_WARNING);
         } else {
             trigger_error($this->layout->format($event), E_USER_NOTICE);
         }
     }
 }
 public function testWarnLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutXml", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $layout = new LoggerLayoutTTCC();
     $v = $layout->format($event);
     $pos = strpos($v, "[" . $event->getThreadName() . "] WARN TEST - testmessage");
     if ($pos === false) {
         self::assertTrue(false);
     } else {
         if ($pos === true) {
             self::assertTrue(true);
         }
     }
 }
 public function append($event)
 {
     if ($this->layout !== null) {
         LoggerLog::debug("LoggerAppenderPhp::append()");
         $level = $event->getLevel();
         if ($level->isGreaterOrEqual(LoggerLevel::getLevelError())) {
             trigger_error($this->layout->format($event), E_USER_ERROR);
         } elseif ($level->isGreaterOrEqual(LoggerLevel::getLevelWarn())) {
             trigger_error($this->layout->format($event), E_USER_WARNING);
         } else {
             trigger_error($this->layout->format($event), E_USER_NOTICE);
         }
     }
 }
 public function testSimpleLogging()
 {
     $layout = new LoggerLayoutSimple();
     $event = new LoggerLoggingEvent('LoggerAppenderFileTest', new Logger('mycategory'), LoggerLevel::getLevelWarn(), "my message");
     $appender = new LoggerAppenderFile("mylogger");
     $appender->setFileName('../../../target/temp/phpunit/TEST.txt');
     $appender->setLayout($layout);
     $appender->activateOptions();
     $appender->append($event);
     $appender->close();
     $v = file_get_contents('../../../target/temp/phpunit/TEST.txt');
     $e = "WARN - my message" . PHP_EOL;
     self::assertEquals($e, $v);
 }
 public function testDecide()
 {
     $filter = new MyFilter();
     // activateOptions is empty, but should at least throw no exeception
     $filter->activateOptions();
     $eventError = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $eventDebug = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelDebug(), "testmessage");
     $eventWarn = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $result = $filter->decide($eventError);
     self::assertEquals($result, LoggerFilter::NEUTRAL);
     $result = $filter->decide($eventDebug);
     self::assertEquals($result, LoggerFilter::NEUTRAL);
     $result = $filter->decide($eventWarn);
     self::assertEquals($result, LoggerFilter::NEUTRAL);
 }
 public function testDecideAcceptFalse()
 {
     $filter = new LoggerFilterLevelRange();
     $filter->setAcceptOnMatch("false");
     $filter->setLevelMin(LoggerLevel::getLevelWarn());
     $filter->setLevelMax(LoggerLevel::getLevelError());
     $eventError = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $eventDebug = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelDebug(), "testmessage");
     $eventWarn = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $result = $filter->decide($eventError);
     self::assertEquals($result, LoggerFilter::NEUTRAL);
     $result = $filter->decide($eventDebug);
     self::assertEquals($result, LoggerFilter::DENY);
     $result = $filter->decide($eventWarn);
     self::assertEquals($result, LoggerFilter::NEUTRAL);
 }
 function append($event)
 {
     $level = $event->getLevel();
     $message = $event->getRenderedMessage();
     if ($level->isGreaterOrEqual(LoggerLevel::getLevelFatal())) {
         syslog(LOG_ALERT, $message);
     } elseif ($level->isGreaterOrEqual(LoggerLevel::getLevelError())) {
         syslog(LOG_ERR, $message);
     } elseif ($level->isGreaterOrEqual(LoggerLevel::getLevelWarn())) {
         syslog(LOG_WARNING, $message);
     } elseif ($level->isGreaterOrEqual(LoggerLevel::getLevelInfo())) {
         syslog(LOG_INFO, $message);
     } elseif ($level->isGreaterOrEqual(LoggerLevel::getLevelDebug())) {
         syslog(LOG_DEBUG, $message);
     }
 }
 public function testConfigure()
 {
     $root = Logger::getRootLogger();
     $appender = $root->getAppender('A1');
     self::assertType('LoggerAppenderConsole', $appender);
     $layout = $appender->getLayout();
     self::assertType('LoggerLayoutTTCC', $layout);
     $event = new LoggerLoggingEvent('LoggerAppenderConsoleTest', new Logger('mycategory'), LoggerLevel::getLevelWarn(), "my message");
     $appender->setTarget('STDOUT');
     $appender->activateOptions();
     ob_start();
     $appender->append($event);
     $v = ob_get_contents();
     ob_end_clean();
     $appender->close();
 }
 public function testChangedDateFormat()
 {
     $layout = new LoggerLayoutSimple();
     $event = new LoggerLoggingEvent('LoggerAppenderFileTest', new Logger('mycategory'), LoggerLevel::getLevelWarn(), "my message");
     $appender = new LoggerAppenderDailyFile("mylogger");
     $appender->setDatePattern('Y');
     $appender->setFile('../../../target/temp/phpunit/TEST-daily.txt.%s');
     $appender->setLayout($layout);
     $appender->activateOptions();
     $appender->append($event);
     $appender->close();
     $this->t2 = date("Y");
     $v = file_get_contents('../../../target/temp/phpunit/TEST-daily.txt.' . $this->t2);
     $e = "WARN - my message" . PHP_EOL;
     self::assertEquals($e, $v);
 }
 public function XtestWarnLayout()
 {
     /*
     Comment in when this has been fixed:
     
     1) testWarnLayout(LoggerLayoutPatternTest)
     Undefined index:  log4php.LoggerPatternConverter.spaces
     /Users/cgrobmeier/Documents/Development/workspace/log4php-trunk/src/main/php/helpers/LoggerPatternConverter.php:131
     /Users/cgrobmeier/Documents/Development/workspace/log4php-trunk/src/main/php/helpers/LoggerPatternConverter.php:104
     /Users/cgrobmeier/Documents/Development/workspace/log4php-trunk/src/main/php/layouts/LoggerPatternLayout.php:216
     /Users/cgrobmeier/Documents/Development/workspace/log4php-trunk/src/test/php/layouts/LoggerLayoutPatternTest.php:45
     
     * 
     */
     $event = new LoggerLoggingEvent("LoggerLayoutXml", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $layout = new LoggerLayoutPattern();
     $layout->setConversionPattern("%-5p %c %X{username}: %m in %F at %L%n");
     $v = $layout->format($event);
     $e = 'WARN TEST : testmessage in NA at NA' . PHP_EOL;
     self::assertEquals($v, $e);
 }
 public function testDecideDeny()
 {
     $filter = new LoggerFilterStringMatch();
     $filter->setAcceptOnMatch("false");
     $filter->setStringToMatch("testmessage");
     $eventError = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $eventError2 = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "xyz");
     $eventDebug = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $eventDebug2 = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelDebug(), "xyz");
     $eventWarn = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
     $eventWarn2 = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelWarn(), "xyz");
     $result = $filter->decide($eventError);
     self::assertEquals($result, LoggerFilter::DENY);
     $result = $filter->decide($eventError2);
     self::assertEquals($result, LoggerFilter::NEUTRAL);
     $result = $filter->decide($eventDebug);
     self::assertEquals($result, LoggerFilter::DENY);
     $result = $filter->decide($eventDebug2);
     self::assertEquals($result, LoggerFilter::NEUTRAL);
     $result = $filter->decide($eventWarn);
     self::assertEquals($result, LoggerFilter::DENY);
     $result = $filter->decide($eventWarn2);
     self::assertEquals($result, LoggerFilter::NEUTRAL);
 }
Beispiel #21
0
 /**
  * @param LoggerLoggingEvent $event
  * @return string
  */
 public function format(LoggerLoggingEvent $event)
 {
     $sbuf = PHP_EOL . "<tr>" . PHP_EOL;
     $sbuf .= "<td>";
     $sbuf .= $event->getTime();
     $sbuf .= "</td>" . PHP_EOL;
     $sbuf .= "<td title=\"" . $event->getThreadName() . " thread\">";
     $sbuf .= $event->getThreadName();
     $sbuf .= "</td>" . PHP_EOL;
     $sbuf .= "<td title=\"Level\">";
     $level = $event->getLevel();
     if ($level->equals(LoggerLevel::getLevelDebug())) {
         $sbuf .= "<font color=\"#339933\">{$level}</font>";
     } else {
         if ($level->equals(LoggerLevel::getLevelWarn())) {
             $sbuf .= "<font color=\"#993300\"><strong>{$level}</strong></font>";
         } else {
             $sbuf .= $level;
         }
     }
     $sbuf .= "</td>" . PHP_EOL;
     $sbuf .= "<td title=\"" . htmlentities($event->getLoggerName(), ENT_QUOTES) . " category\">";
     $sbuf .= htmlentities($event->getLoggerName(), ENT_QUOTES);
     $sbuf .= "</td>" . PHP_EOL;
     if ($this->locationInfo) {
         $locInfo = $event->getLocationInformation();
         $sbuf .= "<td>";
         $sbuf .= htmlentities($locInfo->getFileName(), ENT_QUOTES) . ':' . $locInfo->getLineNumber();
         $sbuf .= "</td>" . PHP_EOL;
     }
     $sbuf .= "<td title=\"Message\">";
     $sbuf .= htmlentities($event->getRenderedMessage(), ENT_QUOTES);
     $sbuf .= "</td>" . PHP_EOL;
     $sbuf .= "</tr>" . PHP_EOL;
     if ($event->getNDC() != null) {
         $sbuf .= "<tr><td bgcolor=\"#EEEEEE\" style=\"font-size : xx-small;\" colspan=\"6\" title=\"Nested Diagnostic Context\">";
         $sbuf .= "NDC: " . htmlentities($event->getNDC(), ENT_QUOTES);
         $sbuf .= "</td></tr>" . PHP_EOL;
     }
     return $sbuf;
 }
Beispiel #22
0
 public function testLevelWarn()
 {
     $this->doTestLevel(LoggerLevel::getLevelWarn(), LoggerLevel::WARN, 'WARN', 4);
     $this->doTestLevel(LoggerLevel::toLevel(LoggerLevel::WARN), LoggerLevel::WARN, 'WARN', 4);
     $this->doTestLevel(LoggerLevel::toLevel('WARN'), LoggerLevel::WARN, 'WARN', 4);
 }
 /** Returns an array of all existing levels, sorted ascending by severity. */
 public static function getAllLevels()
 {
     return array(LoggerLevel::getLevelTrace(), LoggerLevel::getLevelDebug(), LoggerLevel::getLevelInfo(), LoggerLevel::getLevelWarn(), LoggerLevel::getLevelError(), LoggerLevel::getLevelFatal());
 }
Beispiel #24
0
 /**
  * Check whether this Logger is enabled for the WARN Level.
  * @return boolean
  */
 public function isWarnEnabled()
 {
     return $this->isEnabledFor(LoggerLevel::getLevelWarn());
 }
Beispiel #25
0
 /**
  * Log a message with the WARN level.
  *
  * @param mixed $message message
  * @param mixed $caller caller object or caller string id
  */
 public function warn($message, $caller = null)
 {
     $warnLevel = LoggerLevel::getLevelWarn();
     if ($this->repository->isDisabled($warnLevel)) {
         return;
     }
     if ($warnLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
         $this->forcedLog($this->fqcn, $caller, $warnLevel, $message);
     }
 }
Beispiel #26
0
 /**
  * Log a message with the WARN level.
  *
  * @param mixed $message message
  * @param Exception $throwable Optional throwable information to include 
  *   in the logging event.
  */
 public function warn($message, $throwable = null)
 {
     $this->log(LoggerLevel::getLevelWarn(), $message, $throwable);
 }
Beispiel #27
0
 /**
  * Log a message with the WARN level.
  *
  * @param mixed $message message
  * @param mixed $caller caller object or caller string id
  */
 public function warn($message, $caller = null)
 {
     $this->logLevel($message, LoggerLevel::getLevelWarn(), $caller);
 }
 /**
  * Convert the string passed as argument to a level. If the
  * conversion fails, then this method returns a DEBUG Level.
  *
  * @param mixed $arg
  * @param LoggerLevel $default
  * @static 
  */
 function &toLevel($arg, $defaultLevel = null)
 {
     if ($defaultLevel === null) {
         return LoggerLevel::toLevel($arg, LoggerLevel::getLevelDebug());
     } else {
         if (is_int($arg)) {
             switch ($arg) {
                 case LOG4PHP_LEVEL_ALL_INT:
                     return LoggerLevel::getLevelAll();
                 case LOG4PHP_LEVEL_DEBUG_INT:
                     return LoggerLevel::getLevelDebug();
                 case LOG4PHP_LEVEL_INFO_INT:
                     return LoggerLevel::getLevelInfo();
                 case LOG4PHP_LEVEL_WARN_INT:
                     return LoggerLevel::getLevelWarn();
                 case LOG4PHP_LEVEL_ERROR_INT:
                     return LoggerLevel::getLevelError();
                 case LOG4PHP_LEVEL_FATAL_INT:
                     return LoggerLevel::getLevelFatal();
                 case LOG4PHP_LEVEL_OFF_INT:
                     return LoggerLevel::getLevelOff();
                 default:
                     return $defaultLevel;
             }
         } else {
             switch (strtoupper($arg)) {
                 case 'ALL':
                     return LoggerLevel::getLevelAll();
                 case 'DEBUG':
                     return LoggerLevel::getLevelDebug();
                 case 'INFO':
                     return LoggerLevel::getLevelInfo();
                 case 'WARN':
                     return LoggerLevel::getLevelWarn();
                 case 'ERROR':
                     return LoggerLevel::getLevelError();
                 case 'FATAL':
                     return LoggerLevel::getLevelFatal();
                 case 'OFF':
                     return LoggerLevel::getLevelOff();
                 default:
                     return $defaultLevel;
             }
         }
     }
 }
 public function testFormatThrowableInfoWithInnerException()
 {
     // Skip test if PHP version is lower than 5.3.0 (no inner exception support)
     if (version_compare(PHP_VERSION, '5.3.0') < 0) {
         $this->markTestSkipped();
     }
     $this->appender->activateOptions();
     $event = new LoggerLoggingEvent('testFqcn', new Logger('test.Logger'), LoggerLevel::getLevelWarn(), 'test message', microtime(true), new Exception('test exception', 1, new Exception('test exception inner', 2)));
     $record = $this->logOne($event);
     $this->assertArrayHasKey('exception', $record);
     $this->assertEquals(1, $record['exception']['code']);
     $this->assertEquals('test exception', $record['exception']['message']);
     $this->assertContains('[internal function]: LoggerAppenderMongoDBTest', $record['exception']['stackTrace']);
     $this->assertArrayHasKey('innerException', $record['exception']);
     $this->assertEquals(2, $record['exception']['innerException']['code']);
     $this->assertEquals('test exception inner', $record['exception']['innerException']['message']);
 }
 public function testLoggerThreshold()
 {
     Logger::configure(array('rootLogger' => array('appenders' => array('default'), 'level' => 'ERROR'), 'loggers' => array('default' => array('appenders' => array('default'), 'level' => 'WARN')), 'appenders' => array('default' => array('class' => 'LoggerAppenderEcho'))));
     // Check root logger
     $actual = Logger::getRootLogger()->getLevel();
     $expected = LoggerLevel::getLevelError();
     self::assertSame($expected, $actual);
     // Check default logger
     $actual = Logger::getLogger('default')->getLevel();
     $expected = LoggerLevel::getLevelWarn();
     self::assertSame($expected, $actual);
 }