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); }
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(); }
/** * @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) { } }
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()); } }
/** * Check whether this Logger is enabled for the ERROR Level. * @return boolean */ public function isErrorEnabled() { return $this->isEnabledFor(LoggerLevel::getLevelError()); }
/** * 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); } }
/** * 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); }
/** * 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); }