summaryrefslogtreecommitdiff
path: root/framework/Log/TLogManager.php
diff options
context:
space:
mode:
authorxue <>2006-01-08 18:13:02 +0000
committerxue <>2006-01-08 18:13:02 +0000
commit09596d92b2eea0f70c98cc5abca6f5dbd4629802 (patch)
tree3e1c656d18ee46510bd76033e7b36ca2bd4dc05d /framework/Log/TLogManager.php
parent4a2c7c4e9ac75c1420e95624fb9ee34ab178c52f (diff)
Completed TLogger, TLogRouter, TFileLogRoute, TEmailLogRoute
Diffstat (limited to 'framework/Log/TLogManager.php')
-rw-r--r--framework/Log/TLogManager.php145
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