enabled = true; } /** * Enable or disable logging * @param bool $enabled * @return void */ public function setEnabled( $enabled ) { if ( $enabled ) { $this->enabled = true; } else { $this->enabled = false; } } /** * Is logging enabled? * @return bool */ public function isEnabled() { return $this->enabled; } public function __call($name, $args) { if ($this->isEnabled()) { $name = strtolower($name); $object = $args[0]; $result = true; foreach ($this->loggers as $logger) { switch ($name) { case 'debug': if (!$logger->debug($object)) $result = false; break; case 'info': if (!$logger->info($object)) $result = false; break; case 'warn': if (!$logger->warn($object)) $result = false; break; case 'error': if (!$logger->error($object)) $result = false; break; case 'fatal': if (!$logger->fatal($object)) $result = false; break; default: return false; break; } } return $result; } else return false; } /** * Set Logger * @param mixed $logger * @return void */ public function setLogger( $logger ) { $this->loggers[] = $logger; } /** * Get Logger * @return mixed */ public function getLoggers() { return $this->loggers; } }