diff options
author | xue <> | 2006-01-08 18:13:02 +0000 |
---|---|---|
committer | xue <> | 2006-01-08 18:13:02 +0000 |
commit | 09596d92b2eea0f70c98cc5abca6f5dbd4629802 (patch) | |
tree | 3e1c656d18ee46510bd76033e7b36ca2bd4dc05d /framework/Log/TLogManager.php | |
parent | 4a2c7c4e9ac75c1420e95624fb9ee34ab178c52f (diff) |
Completed TLogger, TLogRouter, TFileLogRoute, TEmailLogRoute
Diffstat (limited to 'framework/Log/TLogManager.php')
-rw-r--r-- | framework/Log/TLogManager.php | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/framework/Log/TLogManager.php b/framework/Log/TLogManager.php deleted file mode 100644 index dd926bc7..00000000 --- a/framework/Log/TLogManager.php +++ /dev/null @@ -1,145 +0,0 @@ -<?php
-
-abstract class TLogManager extends TModule
-{
- protected $defaultSeverity = 'INFO | DEBUG | NOTICE | WARNING | ERROR | FATAL';
-
- protected $config;
-
- public function init($xml)
- {
- if(!is_null($this->config))
- $this->initLogger($this->loadConfigFromFile($this->config));
- else
- $this->initLogger($xml);
- }
-
- protected function loadConfigFromFile($file)
- {
- $xml = new TXmlDocument();
- $xml->loadFromFile($file);
- return $xml->getElementByTagName('loggers');
- }
-
- protected function initLogger($xml)
- {
- TEzcLoggerLoader::using('ezcLog');
- TEzcLoggerLoader::using('ezcLogMap');
- TEzcLoggerLoader::using('ezcLogContext');
- TEzcLoggerLoader::using('ezcLogFilter');
-
- $log = ezcLog::getInstance();
- foreach($xml->getElementsByTagName('logger') as $logger)
- {
- $logWriter = $this->getLogWriter($logger);
- $filters = $logger->getElementsByTagName('filter');
- foreach($filters as $filter)
- {
- $logFilter = new ezcLogFilter();
- $Severity = $filter->getAttribute('severity');
- $logFilter->severity = $this->getFilterSeverity($Severity);
- $map = $filter->getAttribute('disabled') ? 'unmap' : 'map';
- $log->$map($logFilter, $logWriter);
- }
-
- if($filters->getCount() < 1)
- {
- $logFilter = new ezcLogFilter();
- $logFilter->severity = $this->getFilterSeverity();
- $log->map($logFilter, $logWriter);
- }
- }
- }
-
- protected function getLogWriter($xml)
- {
- switch($xml->getAttribute('destination'))
- {
- case 'file' :
- return TEzcLoggerUnixFileWriterFactory::create($xml);
- default :
- throw new TException('invalid_log_destination');
- }
- }
-
- protected function getFilterSeverity($string='')
- {
- if(empty($string))
- $string = $this->defaultSeverity;
- $serverities = explode("|", $string);
- $mask = 0;
- foreach($serverities as $Severity)
- $mask = $mask | $this->getSeverity($Severity);
- return $mask;
- }
-
- private function getSeverity($string)
- {
- switch(strtolower(trim($string)))
- {
- case 'debug': return ezcLog::DEBUG;
- case 'success audit' : return ezcLog::SUCCESS_AUDIT;
- case 'failed audit' : return ezcLog::FAILED_AUDIT;
- case 'info' : return ezcLog::INFO;
- case 'notice' : return ezcLog::NOTICE;
- case 'warn' : return ezcLog::WARNING;
- case 'error' : return ezcLog::ERROR;
- case 'fatal' : return ezcLog::FATAL;
- }
- return 0;
- }
-}
-
-
-/**
- * ${classname}
- *
- * ${description}
- *
- * @author Wei Zhuo<weizhuo[at]gmail[dot]com>
- * @version $Revision: 1.66 $ $Date: ${DATE} ${TIME} $
- * @package ${package}
- */
-class TEzcLoggerUnixFileWriterFactory
-{
- public static function create($xml)
- {
- TEzcLoggerLoader::using('ezcLogWriter');
- TEzcLoggerLoader::using('ezcLogWriterFile');
- TEzcLoggerLoader::using('ezcLogWriterUnixFile');
-
- $path = $xml->getAttribute('directory');
- $dir = Prado::getPathOfNamespace($path);
- if(!is_dir($dir))
- throw new TException("missing_logging_directory $dir");
- if(!is_writable($dir))
- throw new TException("unable_to_writer_to $dir");
- $file = $xml->getAttribute('filename');
- if(empty($file)) $file = 'prado.log';
- return new ezcLogWriterUnixFile($dir, $file);
- }
-}
-
-/**
- * ${classname}
- *
- * ${description}
- *
- * @author Wei Zhuo<weizhuo[at]gmail[dot]com>
- * @version $Revision: 1.66 $ $Date: ${DATE} ${TIME} $
- * @package ${package}
- */
-class TEzcLoggerLoader
-{
- public static function using($class)
- {
- if(class_exists($class, false)) return;
- static $classes;
- $base = dirname(__FILE__);
- if(is_null($classes))
- $classes = include($base.'/EventLog/log_autoload.php');
- require_once($base.'/'.$classes[$class]);
- }
-}
-
-?>
\ No newline at end of file |