myname = $name; $this->useDate = $prependDate; $this->mylevel = self::$LEVEL_ERROR; $this->catalogManager = $catalogMan; } public function setLoggingLevel($level) { if ($level < self::$LEVEL_ERROR) $this->mylevel = self::$LEVEL_ERROR; else if ($level > self::$LEVEL_DEBUG) $this->mylevel = self::$LEVEL_DEBUG; else $this->mylevel = $level; } public function log($level, $message, $data = null,$usecatalog = false) { if($level <= $this->mylevel) { if(!is_array($data)) $data = array($data); if($usecatalog) $finalMessage = $this->catalogManager->getCatalog($message,$data); else $finalMessage = $message; if($this->useDate) { $formattedDate = strftime("%d/%m/%Y %H:%M:%S",time()); $finalMessage = $this->myname . " " . $this->getIndicationForLevel($level) . " - " . $formattedDate . " > " . $finalMessage; } else { $finalMessage = $this->myname . " " . $this->getIndicationForLevel($level) . " > " . $finalMessage; } $this->writelog($level,$finalMessage,$data); } } protected abstract function writelog($level,$message,&$data); protected abstract function getIndicationForLevel($level); public function getName() { return $this->myname; } } ?>