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;
}
Example #3
0
 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;
 }
Example #5
0
 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;
 }
Example #6
0
File: logger.php Project: steem/qwp
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");
 }
Example #8
0
 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);
 }
Example #9
0
 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);
 }
Example #15
0
 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;
     }
 }
Example #16
0
 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);
 }
Example #17
0
 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()));
 }
Example #20
0
 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;
 }
Example #21
0
 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;
 }
Example #24
0
/**
 * 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();
    }
}
Example #25
0
<?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;
     }
 }
Example #29
0
/**
 * 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);
 }