/** * initializes the logger * * @param $_defaultWriter Zend_Log_Writer_Abstract default log writer */ public static function setupLogger(Zend_Log_Writer_Abstract $_defaultWriter = NULL) { $config = self::getConfig(); $logger = new Zend_Log(); if (isset($config->logger) && $config->logger->active) { try { $loggerConfig = $config->logger; $filename = $loggerConfig->filename; $priority = (int) $loggerConfig->priority; $writer = new Zend_Log_Writer_Stream($filename); $formatter = new Tinebase_Log_Formatter_Session(); $writer->setFormatter($formatter); $logger->addWriter($writer); $filter = new Zend_Log_Filter_Priority($priority); $logger->addFilter($filter); // add more filters here if (isset($loggerConfig->filter->user)) { $logger->addFilter(new Tinebase_Log_Filter_User($loggerConfig->filter->user)); } if (isset($loggerConfig->filter->message)) { $logger->addFilter(new Zend_Log_Filter_Message($loggerConfig->filter->message)); } } catch (Exception $e) { error_log("Tine 2.0 can't setup the configured logger! The Server responded: {$e}"); $writer = $_defaultWriter === NULL ? new Zend_Log_Writer_Null() : $_defaultWriter; $logger->addWriter($writer); } } else { $writer = new Zend_Log_Writer_Syslog(array('application' => 'Tine 2.0')); $filter = new Zend_Log_Filter_Priority(Zend_Log::WARN); $writer->addFilter($filter); $logger->addWriter($writer); } self::set(self::LOGGER, $logger); if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) { $logger->info(__METHOD__ . '::' . __LINE__ . ' Logger initialized'); } if (isset($loggerConfig) && Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { $logger->trace(__METHOD__ . '::' . __LINE__ . ' Logger settings: ' . print_r($loggerConfig->toArray(), TRUE)); } }
/** * initializes the logger * * @param $_defaultWriter Zend_Log_Writer_Abstract default log writer */ public static function setupLogger(Zend_Log_Writer_Abstract $_defaultWriter = NULL) { $config = self::getConfig(); $logger = new Tinebase_Log(); if (isset($config->logger) && $config->logger->active) { try { $logger->addWriterByConfig($config->logger); if ($config->logger->additionalWriters) { foreach ($config->logger->additionalWriters as $writerConfig) { $logger->addWriterByConfig($writerConfig); } } } catch (Exception $e) { error_log("Tine 2.0 can't setup the configured logger! The Server responded: {$e}"); $writer = $_defaultWriter === NULL ? new Zend_Log_Writer_Null() : $_defaultWriter; $logger->addWriter($writer); } // For saving log into syslog too, create a key syslog into logger (value does not matter) if ((bool) $config->logger->syslog) { $writer = new Zend_Log_Writer_Syslog(array('application' => 'Tine 2.0')); $prio = $config->logger->priority ? (int) $config->logger->priority : 3; $filter = new Zend_Log_Filter_Priority($prio); $writer->addFilter($filter); $logger->addWriter($writer); } } else { $writer = new Zend_Log_Writer_Syslog(array('application' => 'Tine 2.0')); $filter = new Zend_Log_Filter_Priority(Zend_Log::WARN); $writer->addFilter($filter); $logger->addWriter($writer); } self::set(self::LOGGER, $logger); if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) { $logger->info(__METHOD__ . '::' . __LINE__ . ' Logger initialized'); } if (isset($config->logger) && Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { $logger->trace(__METHOD__ . '::' . __LINE__ . ' Logger settings: ' . print_r($config->logger->toArray(), TRUE)); } }
protected function addSyslogWriterLogger(Zend_Log $logger, $config) { if (!(isset($config->active) && $config->active == 1)) { return; } // use always same application and facility, because php error will be written with same application and facility $syslogWriter = new \Zend_Log_Writer_Syslog(array('application' => 'cms@' . $this->getDomain(), 'facility' => LOG_LOCAL6)); if (isset($config->format)) { $syslogWriter->setFormatter(new Zend_Log_Formatter_Simple($config->format)); } if (isset($config->level)) { $syslogWriter->addFilter((int) $config->level); } $logger->addWriter($syslogWriter); }