public function testThreshold() { Logger::configure('configurators/test1.xml'); $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); $threshold = $appender->getThreshold(); self::assertTrue($threshold instanceof LoggerLevel); $e = LoggerLevel::getLevelWarn(); self::assertEquals($e, $threshold); $appender = $root->getAppender("blub"); self::assertTrue($appender instanceof LoggerAppenderEcho); $layout = $appender->getLayout(); self::assertTrue($layout instanceof LoggerLayoutSimple); $threshold = $appender->getThreshold(); self::assertTrue($threshold instanceof LoggerLevel); $e = LoggerLevel::getLevelInfo(); self::assertEquals($e, $threshold); $filter = $appender->getFilter(); self::assertTrue($filter instanceof LoggerFilterLevelRange); $filter2 = $filter->getNext(); self::assertTrue($filter2 instanceof LoggerFilterDenyAll); $threshold = Logger::getHierarchy()->getThreshold(); self::assertTrue($threshold instanceof LoggerLevel); $e = LoggerLevel::getLevelWarn(); self::assertEquals($e, $threshold); $hierarchy = Logger::getHierarchy(); $map = $hierarchy->getRendererMap(); $clazz = $map->getByClassName('Fruit2'); self::assertTrue($clazz instanceof FruitRenderer2); }
function get_logger() { require_once EZBOSS_THIRDPARTY_PATH . '/Apache/log4php/Logger.php'; Logger::configure(EZBOSS_WEBROOT . '/config/appender_dailyfile.properties'); $logger = Logger::getRootLogger(); return $logger; }
public static function getBufferAppender() { $appender = \Logger::getRootLogger()->getAppender('appenderBuffer'); if (!$appender) { $appender = new LoggerAppenderBuffer(); } return $appender; }
public function __construct() { session_start(); ob_start("ob_gzhandler"); date_default_timezone_set("UTC"); $this->logger = Logger::getRootLogger(); $this->logger->debug("Controller Constructor function"); $this->data["request"] = $_REQUEST; }
protected function getLogger() { if (null == $this->_logger) { $logfile = self::$_logname . "log.xml"; Logger::configure(CONF_PATH . DIRECTORY_SEPARATOR . $logfile); $this->_logger = Logger::getRootLogger(); } return $this->_logger; }
function initialize_logger($name) { if (!IN_DEBUG) { return; } global $logger; Logger::configure(array('rootLogger' => array('appenders' => array('default')), 'appenders' => array('default' => array('class' => 'LoggerAppenderRollingFile', 'layout' => array('class' => 'LoggerLayoutPattern', "params" => array("ConversionPattern" => "%d{ISO8601} [%p] %m (at %F line %L)%n")), 'params' => array('file' => join_paths(QWP_LOG_DIR, $name . '.log'), 'append' => true, 'MaxFileSize' => '10MB', 'MaxBackupIndex' => '3'))))); $logger = Logger::getRootLogger(); }
public function testAppendStderr() { $this->config['appenders']['default']['params']['target'] = 'stderr'; Logger::configure($this->config); $log = Logger::getRootLogger(); $expected = LoggerAppenderConsole::STDERR; $actual = $log->getAppender('default')->getTarget(); $this->assertSame($expected, $actual); $log->info("hello"); }
public function _initLogger() { require_once APPLICATION_PATH . "/application/library/Log/Logger.php"; Logger::configure(APPLICATION_PATH . "/conf/logconf.php"); $logger = Logger::getRootLogger(); Yaf_Registry::set('logger', $logger); // Logger::configure(APPLICATION_PATH . "/conf/statlogconf.php"); // $statLogger = Logger::getRootLogger(); // Yaf_Registry::set('statLogger', $statLogger); }
public function testIsEnabledFor() { Logger::configure('LoggerTest.properties'); $logger = Logger::getLogger('mylogger'); self::assertTrue($logger->isDebugEnabled()); self::assertTrue($logger->isInfoEnabled()); $logger = Logger::getRootLogger(); self::assertFalse($logger->isDebugEnabled()); self::assertFalse($logger->isInfoEnabled()); }
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 testUsage() { Logger::resetConfiguration(); Logger::configure(dirname(__FILE__) . '/test4.properties'); $logger = Logger::getRootLogger(); ob_start(); $logger->warn(new Fruit3()); $actual = ob_get_contents(); ob_end_clean(); $expected = "WARN - test1,test2,test3" . PHP_EOL; self::assertEquals($expected, $actual); }
public function testUsage() { Logger::resetConfiguration(); Logger::configure(dirname(__FILE__) . '/test4.properties'); Logger::initialize(); $logger = Logger::getRootLogger(); ob_start(); $logger->error(new Fruit3()); $v = ob_get_contents(); ob_end_clean(); self::assertEquals("ERROR - test1,test2,test3\n", $v); }
public function testHtmlLineBreaks() { Logger::configure($this->config2); $log = Logger::getRootLogger(); $hlb = $log->getAppender('default')->getHtmlLineBreaks(); $this->assertSame(true, $hlb); ob_start(); $log->info("This is a test" . PHP_EOL . "With more than one line"); $log->debug("And this too"); $actual = ob_get_clean(); $expected = "INFO - This is a test<br />" . PHP_EOL . "With more than one line<br />" . PHP_EOL . "DEBUG - And this too<br />" . PHP_EOL; $this->assertSame($expected, $actual); }
private function sendSMS($http, $uid, $pwd, $mobile, $content, $mobileids, $time = '', $mid = '') { $data = array('uid' => $uid, 'pwd' => md5($pwd . $uid), 'mobile' => $mobile, 'content' => $content, 'mobileids' => $mobileids, 'time' => $time); $re = $this->postSMS($http, $data); //POST方式提交 //if( trim($re) == '100' ) if (trim($re) == 'sms&stat=100&message=发送成功') { Logger::getRootLogger()->debug("Sms:发送成功"); return 0; } else { Logger::getRootLogger()->debug("发送失败! 状态:" . $re); return 1; } }
public function update() { Logger::getRootLogger()->debug("User::update"); $response = Utils::validate_request(); if (Utils::validate_request() !== null) { echo Response::getResponseJson($response); return; } $user_update_infor = $_POST['request_json']; Logger::getRootLogger()->debug("user_update_infor = " . $user_update_infor); $user_infor_array = json_decode($user_update_infor, true); Logger::getRootLogger()->debug("dump user_infor_array:" . Utils::var2str($user_infor_array)); $response = $this->user_model->update_user_infor($user_infor_array["DATA"]); echo Response::getResponseJson($response); }
public static function get($command, $params = []) { if (!isset(self::$list[$command])) { $logger = \Logger::getRootLogger(); $logger->fatal('Command not found', ['command' => $command]); throw new \Exception("Command not found"); } $commandClass = self::$list[$command]; $class = new \ReflectionClass($commandClass); if ($params) { return $class->newInstanceArgs($params); } else { return $class->newInstance(); } }
public function testConfiguration() { $config = LoggerConfiguratorDefault::getDefaultConfiguration(); $config['appenders']['default']['filters'] = array(array('class' => 'LoggerFilterDenyAll')); Logger::configure($config); $logger = Logger::getRootLogger(); ob_start(); $logger->trace('Test'); $logger->debug('Test'); $logger->info('Test'); $logger->warn('Test'); $logger->error('Test'); $logger->fatal('Test'); $actual = ob_get_clean(); $this->assertEmpty($actual); }
public function testResetConfiguration() { $root = Logger::getRootLogger(); $appender = $root->getAppender('A1'); self::assertType('LoggerAppenderConsole', $appender); $layout = $appender->getLayout(); self::assertType('LoggerLayoutTTCC', $layout); // As PHPUnit runs all tests in one run, there might be some loggers left over // from previous runs. ResetConfiguration() only clears the appenders, it does // not remove the categories! Logger::resetConfiguration(); foreach (Logger::getCurrentLoggers() as $logger) { self::assertEquals(0, count($logger->getAllAppenders())); } // This on the other hand really removes the categories: Logger::clear(); self::assertEquals(0, count(Logger::getCurrentLoggers())); }
public static function validate_request() { $response = new Response(); if (!isset($_POST['request_json'])) { $response->status = Response::STATUS_ERROR; $response->message = "无request_json项"; $response->error_code = "0001"; Logger::getRootLogger()->error("无request_json项"); return $response; } Logger::getRootLogger()->debug("request_json = " . $_POST['request_json']); if (!Utils::isJson($_POST['request_json'])) { $response->status = Response::STATUS_ERROR; $response->message = "JSON文件格式错误"; Logger::getRootLogger()->error("JSON文件格式错误:" . $response->message . $user_register_infor); return $response; } return null; }
public function validate_short_message_verification_code() { Logger::getRootLogger()->debug("Authentication::validate_short_message_verification_code"); $adv_infor = $_POST['request_json']; Logger::getRootLogger()->debug("adv_infor = " . $adv_infor); $adv_infor_array = json_decode($adv_infor, true); Logger::getRootLogger()->debug("dump adv_infor_array:" . Utils::var2str($adv_infor_array)); $cellphone = $adv_infor_array['DATA']['cellphone']; $code = $adv_infor_array['DATA']['code']; if (Utils::validate_sms_code($cellphone, $code)) { $response = new Response(); $response->status = Response::STATUS_OK; $response->message = "短信校验码校验成功"; echo Response::getResponseJson($response); } else { $response = new Response(); $response->status = Response::STATUS_ERROR; $response->message = "短信校验码失败"; $response->error_code = "0034"; echo Response::getResponseJson($response); } }
public function testPhp() { Logger::configure($this->config); $logger = Logger::getRootLogger(); self::$expectedError = E_USER_ERROR; self::$expectedMessage = "FATAL - This is a test" . PHP_EOL; $logger->fatal("This is a test"); self::$expectedError = E_USER_ERROR; self::$expectedMessage = "ERROR - This is a test" . PHP_EOL; $logger->error("This is a test"); self::$expectedError = E_USER_WARNING; self::$expectedMessage = "WARN - This is a test" . PHP_EOL; $logger->warn("This is a test"); self::$expectedError = E_USER_NOTICE; self::$expectedMessage = "INFO - This is a test" . PHP_EOL; $logger->info("This is a test"); self::$expectedError = E_USER_NOTICE; self::$expectedMessage = "DEBUG - This is a test" . PHP_EOL; $logger->debug("This is a test"); self::$expectedError = E_USER_NOTICE; self::$expectedMessage = "TRACE - This is a test" . PHP_EOL; $logger->trace("This is a test"); }
public function update_adv_validate($adv_infor) { Logger::getRootLogger()->debug("Advertisement_model::update_adv_validate"); $response = new Response(); if (!Utils::isCurrentUserLogin()) { $response->status = Response::STATUS_ERROR; $response->error_code = "0013"; $response->message = "用户尚未登陆,没有更新广告的权限"; return $response; } if (!isset($adv_infor["title"]) || !isset($adv_infor["text_content"]) || empty($adv_infor["title"]) || empty($adv_infor["text_content"])) { $response->status = Response::STATUS_ERROR; $response->error_code = "0012"; $response->message = "广告标题和广告文本内容不得为空"; return $response; } if (!isset($adv_infor["id"]) || empty($adv_infor["id"])) { $response->status = Response::STATUS_ERROR; $response->error_code = "0015"; $response->message = "用户ID不得为空"; return $response; } return null; }
/** * Method returns logger with meaningful name. In this case much easy to enable\disable * logs depending on requirements * @param $context * If $context is empty or null, then return root logger * If $context is filename or filepath, then return logger with name 'page.filename' * If $context is string, then return logger with name $context * If $context is object, then depending from object class it returns: * - 'class.object.objectname' * - 'class.module.modulename' * - 'class.objectclass' * Example of usage: * - $log = getLogger(); * - $log = getLogger('MyLogger'); * - $log = getLogger(__FILE__); * - $log = getLogger($this); * @return Logger */ function getLogger($context = null) { if (empty($context)) { return Logger::getRootLogger(); } elseif (is_string($context)) { if (is_file($context)) { return Logger::getLogger('page.' . basename($context, '.php')); } else { return Logger::getLogger($context); } } elseif (is_a($context, 'objects')) { return Logger::getLogger("class.object.{$context->object_title}"); } elseif (is_a($context, 'module')) { return Logger::getLogger("class.module.{$context->name}"); } elseif (is_object($context)) { return Logger::getLogger('class.' . get_class($context)); } else { return Logger::getRootLogger(); } }
<?php /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // START SNIPPET: doxia require_once dirname(__FILE__) . '/../../main/php/Logger.php'; Logger::configure(dirname(__FILE__) . '/../resources/appender_mail.properties'); $logger = Logger::getRootLogger(); $logger->fatal("Some critical message!"); $logger->fatal("Some more critical 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); }
/** * write log * * @param string $strContent log content * @param int $intType type of log * @author TinhDoan added [20100413] * */ function writeLog($strContent, $intType) { /*// Initilize log if($this->_cLogger == null) { //require_once("lib/log4php/LoggerManager.php"); $this->_cLogger = &LoggerManager::getLogger("dbconnection.php"); } // Write log switch($intType) { case 0: // Debug $this->_cLogger->debug($strContent); break; case 1: // Fatal $this->_cLogger->fatal($strContent); break; } */ // Neu _logger chua duoc khoi tao if ($this->_cLogger == null) { $this->_cLogger = Logger::getRootLogger(); } // Write log switch ($intType) { case 0: // Debug $this->_cLogger->debug($strContent); break; case 1: // Fatal $this->_cLogger->fatal($strContent); break; } }
/** * @param mixed $parser * @param string $tag * @param array $attribs * * @todo In 'LOGGER' case find a better way to detect 'getLogger()' method */ private function tagOpen($parser, $tag, $attribs) { switch ($tag) { case 'CONFIGURATION': case self::XMLNS . ':CONFIGURATION': if (isset($attribs['THRESHOLD'])) { $this->repository->setThreshold(LoggerOptionConverter::toLevel($this->subst($attribs['THRESHOLD']), $this->repository->getThreshold())); } break; case 'APPENDER': case self::XMLNS . ':APPENDER': unset($this->appender); $this->appender = null; $name = $this->subst(@$attribs['NAME']); $class = $this->subst(@$attribs['CLASS']); $this->appender = LoggerAppenderPool::getAppenderFromPool($name, $class); if (isset($attribs['THRESHOLD'])) { $this->appender->setThreshold(LoggerOptionConverter::toLevel($this->subst($attribs['THRESHOLD']), $this->appender->getThreshold())); } $this->state[] = self::APPENDER_STATE; break; case 'APPENDER_REF': case 'APPENDER-REF': case self::XMLNS . ':APPENDER_REF': case self::XMLNS . ':APPENDER-REF': if (isset($attribs['REF']) and !empty($attribs['REF'])) { $appenderName = $this->subst($attribs['REF']); $appender = LoggerAppenderPool::getAppenderFromPool($appenderName); if ($appender !== null) { switch (end($this->state)) { case self::LOGGER_STATE: case self::ROOT_STATE: $this->logger->addAppender($appender); break; } } } break; case 'FILTER': case self::XMLNS . ':FILTER': unset($this->filter); $this->filter = null; $filterName = basename($this->subst(@$attribs['CLASS'])); if (!empty($filterName)) { $this->filter = new $filterName(); $this->state[] = self::FILTER_STATE; } break; case 'LAYOUT': case self::XMLNS . ':LAYOUT': $class = @$attribs['CLASS']; $this->layout = LoggerReflectionUtils::createObject($this->subst($class)); $this->state[] = self::LAYOUT_STATE; break; case 'LOGGER': case self::XMLNS . ':LOGGER': // $this->logger is assigned by reference. // Only '$this->logger=null;' destroys referenced object unset($this->logger); $this->logger = null; $loggerName = $this->subst(@$attribs['NAME']); if (!empty($loggerName)) { $this->logger = $this->repository->getLogger($loggerName); if ($this->logger !== null and isset($attribs['ADDITIVITY'])) { $additivity = LoggerOptionConverter::toBoolean($this->subst($attribs['ADDITIVITY']), true); $this->logger->setAdditivity($additivity); } } $this->state[] = self::LOGGER_STATE; break; case 'LEVEL': case self::XMLNS . ':LEVEL': case 'PRIORITY': case self::XMLNS . ':PRIORITY': if (!isset($attribs['VALUE'])) { // LoggerDOMConfigurator::tagOpen() LEVEL value not set break; } if ($this->logger === null) { // LoggerDOMConfigurator::tagOpen() LEVEL. parent logger is null break; } switch (end($this->state)) { case self::ROOT_STATE: $this->logger->setLevel(LoggerOptionConverter::toLevel($this->subst($attribs['VALUE']), $this->logger->getLevel())); break; case self::LOGGER_STATE: $this->logger->setLevel(LoggerOptionConverter::toLevel($this->subst($attribs['VALUE']), $this->logger->getLevel())); break; default: //LoggerLog::warn("LoggerDOMConfigurator::tagOpen() LEVEL state '{$this->state}' not allowed here"); } break; case 'PARAM': case self::XMLNS . ':PARAM': if (!isset($attribs['NAME'])) { // LoggerDOMConfigurator::tagOpen() PARAM attribute 'name' not defined. break; } if (!isset($attribs['VALUE'])) { // LoggerDOMConfigurator::tagOpen() PARAM. attribute 'value' not defined. break; } switch (end($this->state)) { case self::APPENDER_STATE: if ($this->appender !== null) { LoggerReflectionUtils::setter($this->appender, $this->subst($attribs['NAME']), $this->subst($attribs['VALUE'])); } break; case self::LAYOUT_STATE: if ($this->layout !== null) { LoggerReflectionUtils::setter($this->layout, $this->subst($attribs['NAME']), $this->subst($attribs['VALUE'])); } break; case self::FILTER_STATE: if ($this->filter !== null) { LoggerReflectionUtils::setter($this->filter, $this->subst($attribs['NAME']), $this->subst($attribs['VALUE'])); } break; default: //LoggerLog::warn("LoggerDOMConfigurator::tagOpen() PARAM state '{$this->state}' not allowed here"); } break; case 'RENDERER': case self::XMLNS . ':RENDERER': $renderedClass = $this->subst(@$attribs['RENDEREDCLASS']); $renderingClass = $this->subst(@$attribs['RENDERINGCLASS']); if (!empty($renderedClass) and !empty($renderingClass)) { $this->repository->getRendererMap()->addRenderer($renderedClass, $renderingClass); } break; case 'ROOT': case self::XMLNS . ':ROOT': $this->logger = Logger::getRootLogger(); $this->state[] = self::ROOT_STATE; break; } }
/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // START SNIPPET: doxia require_once dirname(__FILE__) . '/../../main/php/Logger.php'; Logger::configure(dirname(__FILE__) . '/../resources/cache.properties'); $cache = 'target/examples/hierarchy.cache'; if (!file_exists($cache)) { $dir = dirname($cache); if (!is_dir($dir)) { mkdir($dir, 0777, true); } $old_logger = Logger::getRootLogger(); file_put_contents($cache, serialize($old_logger)); } $logger = unserialize(file_get_contents($cache)); $logger->debug('Debug message from cached logger');
public function testAppendFlagFalse() { $config = $this->config1; $config['appenders']['default']['params']['file'] = $this->testPath; $config['appenders']['default']['params']['append'] = false; Logger::configure($config); $logger = Logger::getRootLogger(); $logger->info('This is a test'); Logger::configure($config); $logger = Logger::getRootLogger(); $logger->info('This is a test'); $expected = "INFO - This is a test" . PHP_EOL; $actual = file_get_contents($this->testPath); $this->assertSame($expected, $actual); }