Beispiel #1
0
 /**
  * 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));
     }
 }
Beispiel #3
0
 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);
 }