Example #1
0
 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 testSimpleLogging()
 {
     if (!extension_loaded('pdo_sqlite')) {
         self::markTestSkipped("Please install 'pdo_sqlite' in order to run this test");
     }
     $event = new LoggerLoggingEvent("LoggerAppenderPDOTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $dbname = '../../../target/pdotest.sqlite';
     $dsn = 'sqlite:' . $dbname;
     $database = new PDO($dsn);
     $database = null;
     $appender = new LoggerAppenderPDO("myname");
     $appender->setDSN($dsn);
     $appender->setCreateTable(true);
     $appender->activateOptions();
     $appender->append($event);
     $db = $appender->getDatabaseHandle();
     $q = "select * from log4php_log";
     $error = "";
     if ($result = $db->query($q)) {
         while ($row = $result->fetch()) {
             self::assertEquals($row['1'], 'TEST');
             self::assertEquals($row['2'], 'ERROR');
             self::assertEquals($row['3'], 'testmessage');
         }
     } else {
         // todo propagate exception to phpunit
         self::assertTrue(false);
     }
     $appender->close();
 }
 public function testSimpleLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutSimpleTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $layout = new LoggerLayoutSimple();
     $v = $layout->format($event);
     $e = "ERROR - testmessage\n";
     self::assertEquals($v, $e);
 }
 public function testErrorLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutXml", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $layout = new LoggerLayoutXml();
     $v = $layout->format($event);
     $e = "<log4php:event logger=\"TEST\" level=\"ERROR\" 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 testErrorLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutXml", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $e = 'ERROR TEST : testmessage in NA at NA' . PHP_EOL;
     $patternParser = new LoggerPatternParser("%-5p %c %X{username}: %m in %F at %L%n");
     $c = $patternParser->parse();
     $c->format($e, $event);
 }
 public function testErrorLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutHtmlTest", new Logger("TEST"), LoggerLevel::getLevelError(), "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\">ERROR</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 testClassnamePattern()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutPatternTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $v = $this->formatEvent($event, '%C');
     $dt = $this->getEventDateTime($event);
     $e = "LoggerLayoutPatternTest";
     self::assertEquals($e, $v);
 }
 public function testSimpleLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutSimpleTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $layout = new LoggerLayoutSimple();
     $actual = $layout->format($event);
     $expected = "ERROR - testmessage" . PHP_EOL;
     self::assertEquals($expected, $actual);
 }
 public function testErrorLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutXml", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $layout = new LoggerLayoutPattern();
     $layout->setConversionPattern("%-5p %c %X{username}: %m in %F at %L%n");
     $v = $layout->format($event);
     $e = 'ERROR TEST : testmessage in NA at NA' . PHP_EOL;
     self::assertEquals($v, $e);
 }
 public function testClassname()
 {
     $event = new LoggerLoggingEvent("MyClass", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $expected = 'MyClass';
     $patternParser = new LoggerPatternParser("%C");
     $c = $patternParser->parse();
     $actual = '';
     $c->format($actual, $event);
     self::assertEquals($expected, $actual);
 }
 /** Tests Exception due to unreachable remote host.
  * 
  * @expectedException LoggerException
  */
 public function testSocketProblem()
 {
     $appender = new LoggerAppenderSocket("myname ");
     $appender->setDry(false);
     $appender->setRemoteHost("does.not.exists");
     $appender->setPort(1234);
     $appender->activateOptions();
     $event = new LoggerLoggingEvent("LoggerAppenderSocketTest", new Logger("TEST"), LoggerLevel::getLevelError(), "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 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 testErrorLayout()
 {
     $event = new LoggerLoggingEvent("LoggerLayoutTTCC", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     $layout = new LoggerLayoutTTCC();
     $v = $layout->format($event);
     $pos = strpos($v, "[" . $event->getThreadName() . "] ERROR TEST - testmessage");
     if ($pos === false) {
         self::assertTrue(false);
     } else {
         if ($pos === true) {
             self::assertTrue(true);
         }
     }
 }
 public function testEcho()
 {
     $appender = new LoggerAppenderEcho("myname ");
     $layout = new LoggerLayoutSimple();
     $appender->setLayout($layout);
     $appender->activateOptions();
     $event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     ob_start();
     $appender->append($event);
     $v = ob_get_contents();
     ob_end_clean();
     $e = "ERROR - testmessage\n";
     self::assertEquals($v, $e);
 }
 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 testSyslog()
 {
     $appender = new LoggerAppenderSyslog("myname ");
     $layout = new LoggerLayoutSimple();
     $appender->setLayout($layout);
     $appender->setDry(true);
     $appender->activateOptions();
     $event = new LoggerLoggingEvent("LoggerAppenderSyslogTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     ob_start();
     $appender->append($event);
     $v = ob_get_contents();
     ob_end_clean();
     $e = "DRY MODE OF SYSLOG APPENDER: ERROR - testmessage" . PHP_EOL;
     self::assertEquals($v, $e);
 }
 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);
 }
Example #20
0
 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 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);
 }
 public function testMail()
 {
     $appender = new LoggerAppenderMailEvent("myname");
     $layout = new LoggerLayoutSimple();
     $appender->setLayout($layout);
     $appender->setDry(true);
     $appender->setTo('*****@*****.**');
     $appender->setFrom('Testsender');
     $appender->activateOptions();
     $event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
     ob_start();
     $appender->append($event);
     $v = ob_get_contents();
     ob_end_clean();
     $e = "DRY MODE OF MAIL APP.: Send mail to: test@example.com with additional headers 'From: Testsender' and content: ERROR - testmessage" . PHP_EOL;
     self::assertEquals($e, $v);
     $appender->close();
 }
Example #23
0
 /**
  * @param string $message
  * @param mixed $args
  */
 public static function Error($message, $args = array())
 {
     if (!self::GetInstance()->logger->isEnabledFor(LoggerLevel::getLevelError())) {
         return;
     }
     try {
         $debug = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
         if (is_array($debug)) {
             $debugInfo = $debug[0];
         } else {
             $debugInfo = array('file' => null, 'line' => null);
         }
         $args = func_get_args();
         $log = vsprintf(array_shift($args), array_values($args));
         $log .= sprintf(' [File=%s,Line=%s]', $debugInfo['file'], $debugInfo['line']);
         $log = '[User='******'] ' . $log;
         self::GetInstance()->logger->error($log);
     } catch (Exception $ex) {
     }
 }
Example #24
0
 public function testLevelError()
 {
     $this->doTestLevel(LoggerLevel::getLevelError(), LoggerLevel::ERROR, 'ERROR', 3);
     $this->doTestLevel(LoggerLevel::toLevel(LoggerLevel::ERROR), LoggerLevel::ERROR, 'ERROR', 3);
     $this->doTestLevel(LoggerLevel::toLevel('ERROR'), LoggerLevel::ERROR, 'ERROR', 3);
 }
 /** 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());
 }
 /**
  * Process a call originating from the given request. Uses the
  * {@link RPC#invokeAndEncodeResponse(Object, java.lang.reflect.Method, Object[])}
  * method to do the actual work.
  * <p>
  * Subclasses may optionally override this method to handle the payload in any
  * way they desire (by routing the request to a framework component, for
  * instance). The {@link HttpServletRequest} and {@link HttpServletResponse}
  * can be accessed via the {@link #getThreadLocalRequest()} and
  * {@link #getThreadLocalResponse()} methods.
  * </p>
  * This is public so that it can be unit tested easily without HTTP.
  *
  * @param payload the UTF-8 request payload
  * @return a string which encodes either the method's return, a checked
  *         exception thrown by the method, or an
  *         {@link IncompatibleRemoteServiceException}
  * @throws SerializationException if we cannot serialize the response
  * @throws UnexpectedException if the invocation throws a checked exception
  *           that is not declared in the service method's signature
  * @throws RuntimeException if the service method throws an unchecked
  *           exception (the exception will be the one thrown by the service)
  */
 public function processCall($payload)
 {
     try {
         $this->logger->debug('Processing Call start', $this);
         $rpcRequest = RPC::decodeRequest($payload, $this->getMappedClassLoader(), $this);
         //FOCUS: this method is used only in PHP implementation of GWT RemoteServiceServlet
         $this->onAfterRequestDecoded($rpcRequest);
         $target = $this->getRPCTargetResolverStrategy()->resolveRPCTarget($rpcRequest->getMethod()->getDeclaringMappedClass());
         return RPC::invokeAndEncodeResponse($target, $rpcRequest->getMethod(), $rpcRequest->getParameters(), $rpcRequest->getSerializationPolicy(), $rpcRequest->getMappedClassLoader());
     } catch (IncompatibleRemoteServiceException $ex) {
         $this->logger->log(LoggerLevel::getLevelError(), 'An IncompatibleRemoteServiceException was thrown while processing this call.', $ex);
         return RPC::encodeResponseForFailure(null, $ex, null, $this->getMappedClassLoader());
     }
 }
Example #27
0
 /**
  * Check whether this Logger is enabled for the ERROR Level.
  * @return boolean
  */
 public function isErrorEnabled()
 {
     return $this->isEnabledFor(LoggerLevel::getLevelError());
 }
Example #28
0
 /**
  * Log a message object with the ERROR level including the caller.
  *
  * @param mixed $message message
  * @param mixed $caller caller object or caller string id
  */
 public function error($message, $caller = null)
 {
     $errorLevel = LoggerLevel::getLevelError();
     if ($this->repository->isDisabled($errorLevel)) {
         return;
     }
     if ($errorLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
         $this->forcedLog($this->fqcn, $caller, $errorLevel, $message);
     }
 }
Example #29
0
 /**
  * Log a message object with the ERROR level.
  *
  * @param mixed $message message
  * @param Exception $throwable Optional throwable information to include 
  *   in the logging event.
  */
 public function error($message, $throwable = null)
 {
     $this->log(LoggerLevel::getLevelError(), $message, $throwable);
 }
Example #30
0
 /**
  * Log a message object with the ERROR level including the caller.
  *
  * @param mixed $message message
  * @param mixed $caller caller object or caller string id
  */
 public function error($message, $caller = null)
 {
     $this->logLevel($message, LoggerLevel::getLevelError(), $caller);
 }