/lib/logging/cfLoggerConfigurator.class.php
PHP | 147 lines | 9 code | 3 blank | 135 comment | 0 complexity | 63b8c0a5d06e837b3785dbb374e0a52e MD5 | raw file
Possible License(s): LGPL-3.0
- <?php
- /**
- -----------------------------------------------------------------------------
- * LoggerConfiguratorConfig - DEPRECATD
- *
- * Configure the logger from the cfConfig settings.
- *
- * Based on log4php (Apache Logging Services) this class provides you to genereate log files to debug or control your application as well.
- * @link http://logging.apache.org/log4php/
- * @link http://logging.apache.org/log4php/docs/introduction.html
- *
- -----------------------------------------------------------------------------
- -----------------------------------------------------------------------------
- * @copyright (C) 2011 Cyberfox Software Solutions e.U.
- * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License version 3 (LGPLv3)
- * @author Christian Graf <christian.graf@cyberfox.at>
- -----------------------------------------------------------------------------
- -----------------------------------------------------------------------------
- * @package redfox
- * @subpackage misc
- * @category i/o
- * @deprecated
- -----------------------------------------------------------------------------
- -----------------------------------------------------------------------------
- * @version $Id: cfLoggerConfigurator.class.php 101 2012-06-27 12:15:08Z cgraf $
- * @date $Date: 2012-06-27 14:15:08 +0200 (Mi, 27 Jun 2012) $
- * @svnauthor $Author: cgraf $
- -----------------------------------------------------------------------------
- */
- /**
- * Include the log4php class to work with.
- */
- require_once('log4php/Logger.php');
- class cfLoggerConfigurator implements LoggerConfigurator //log4php
- {
- public function configure(LoggerHierarchy $hierarchy, $url = '') //implementation
- {
- /* $config = cfConfig::GetEntry('logging', 'application');
- // set threshold
- if(isset($config['threshold']))
- $hierarchy->setThreshold(LoggerOptionConverter::toLevel($config['threshold'], LoggerLevel::getLevelAll()));
- // parse and create appenders
- if(isset($config['appenders']))
- {
- foreach($config['appenders'] as $appenderName => $appenderProperties)
- {
- $appender = LoggerAppenderPool::getAppenderFromPool($appenderName, $appenderProperties['class']);
- //echo '<pre>' .print_r($appenderProperties, true) .'</pre>';
- foreach($appenderProperties as $key => $value)
- {
- if($value === null || $key == 'layout' || $key == 'class')
- continue;
- if($key == 'file' || $key == 'filename')
- {
- $key = 'FileName';
- $value = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $value);
- }
- $method = 'set' .ucfirst($key);
- if(method_exists($appender, $method))
- {
- //echo "<br> $method => $value";
- call_user_func(array($appender, $method), $value);
- }
- }
- if($appender->requiresLayout())
- {
- if(isset($appenderProperties['layout']))
- {
- if(isset($appenderProperties['layout']['class']) and !empty($appenderProperties['layout']['class']))
- $layoutClass = $appenderProperties['layout']['class'];
- else
- $layoutClass = 'LoggerLayoutSimple';
- $layout = LoggerReflectionUtils::createObject($layoutClass);
- if($layout === null)
- $layout = LoggerReflectionUtils::createObject('LoggerLayoutSimple');
- if($layout instanceof LoggerLayoutPattern)
- $layout->setConversionPattern($appenderProperties['layout']['conversionPattern']);
- $appender->setLayout($layout);
- }
- }
- //echo '<pre>' .print_r($appender, true) .'</pre>';
- }
- }
- // parse and create root logger
- if(isset($config['rootLogger']))
- {
- $rootLogger = $hierarchy->getRootLogger();
- if(isset($config['rootLogger']['level']))
- {
- $rootLogger->setLevel(LoggerOptionConverter::toLevel($config['rootLogger']['level'], LoggerLevel::getLevelDebug()));
- if(isset($config['rootLogger']['appenders']))
- {
- foreach($config['rootLogger']['appenders'] as $appenderName)
- {
- $appender = LoggerAppenderPool::getAppenderFromPool($appenderName);
- if($appender !== null)
- {
- //echo '<pre>' .print_r($appender, true) .'</pre>';
- $rootLogger->addAppender($appender);
- }
- }
- }
- }
- }
- // parse and create loggers
- if(isset($config['loggers']))
- {
- foreach($config['loggers'] as $loggerName => $loggerProperties)
- {
- if(is_string($loggerName))
- {
- $logger = $hierarchy->getLogger($loggerName);
- if(isset($loggerProperties['level']))
- {
- $logger->setLevel(LoggerOptionConverter::toLevel($loggerProperties['level'], LoggerLevel::getLevelDebug()));
- if(isset($loggerProperties['appenders']))
- {
- foreach($loggerProperties['appenders'] as $appenderName)
- {
- $appender = LoggerAppenderPool::getAppenderFromPool($appenderName);
- if($appender !== null)
- {
- //echo '<pre>' .print_r($appender, true) .'</pre>';
- $logger->addAppender($appender);
- }
- }
- }
- }
- }
- }
- }
- */
- }
- }
- ?>