From 09596d92b2eea0f70c98cc5abca6f5dbd4629802 Mon Sep 17 00:00:00 2001 From: xue <> Date: Sun, 8 Jan 2006 18:13:02 +0000 Subject: Completed TLogger, TLogRouter, TFileLogRoute, TEmailLogRoute --- framework/Log/TLogger.php | 57 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 framework/Log/TLogger.php (limited to 'framework/Log/TLogger.php') diff --git a/framework/Log/TLogger.php b/framework/Log/TLogger.php new file mode 100644 index 00000000..f9b9b47a --- /dev/null +++ b/framework/Log/TLogger.php @@ -0,0 +1,57 @@ +_logs[]=array($message,$level,$category,time()); + } + + public function getLogs($levels=null,$categories=null) + { + $this->_levels=$levels; + $this->_categories=$categories; + if(empty($levels) && empty($categories)) + return $this->_logs; + else if(empty($levels)) + return array_values(array_filter(array_filter($this->_logs,array($this,'filterByCategories')))); + else if(empty($categories)) + return array_values(array_filter(array_filter($this->_logs,array($this,'filterByLevels')))); + else + { + $ret=array_values(array_filter(array_filter($this->_logs,array($this,'filterByLevels')))); + return array_values(array_filter(array_filter($ret,array($this,'filterByCategories')))); + } + } + + private function filterByCategories($value) + { + foreach($this->_categories as $category) + { + if(strpos($value[2],$category)===0) + return $value; + } + return false; + } + + private function filterByLevels($value) + { + if($value[1] & $this->_levels) + return $value; + else + return false; + } +} + +?> \ No newline at end of file -- cgit v1.2.3