public function activateOptions()
 {
     if (!$this->getHost()) {
         $this->setHost(gethostname());
     }
     return parent::activateOptions();
 }
Esempio n. 2
0
 /**
  * Add a {@link LoggerAppenderConsole} that uses 
  * the {@link LoggerLayoutTTCC} to the root category.
  * 
  * @param string $url not used here
  * @static  
  */
 function configure($url = null)
 {
     $root =& LoggerManager::getRootLogger();
     $appender =& LoggerAppender::singleton('A1', 'LoggerAppenderConsole');
     $layout = LoggerLayout::factory('LoggerLayoutTTCC');
     $appender->setLayout($layout);
     $root->addAppender($appender);
 }
 /**
  * @param array $props array of properties
  * @param string $appenderName
  * @return LoggerAppender
  */
 function &parseAppender($props, $appenderName)
 {
     $appender =& LoggerAppender::singleton($appenderName);
     if ($appender !== null) {
         LoggerLog::debug("LoggerPropertyConfigurator::parseAppender() " . "Appender [{$appenderName}] was already parsed.");
         return $appender;
     }
     // Appender was not previously initialized.
     $prefix = LOG4PHP_LOGGER_PROPERTY_CONFIGURATOR_APPENDER_PREFIX . $appenderName;
     $layoutPrefix = $prefix . ".layout";
     $appenderClass = @$props[$prefix];
     if (!empty($appenderClass)) {
         $appender =& LoggerAppender::singleton($appenderName, $appenderClass);
         if ($appender === null) {
             LoggerLog::warn("LoggerPropertyConfigurator::parseAppender() " . "Could not instantiate appender named [{$appenderName}].");
             return null;
         }
     } else {
         LoggerLog::warn("LoggerPropertyConfigurator::parseAppender() " . "Could not instantiate appender named [{$appenderName}] with null className.");
         return null;
     }
     $appender->setName($appenderName);
     if ($appender->requiresLayout()) {
         LoggerLog::debug("LoggerPropertyConfigurator::parseAppender() " . "Parsing layout section for [{$appenderName}].");
         $layoutClass = @$props[$layoutPrefix];
         $layoutClass = LoggerOptionConverter::substVars($layoutClass, $props);
         if (empty($layoutClass)) {
             LoggerLog::warn("LoggerPropertyConfigurator::parseAppender() " . "layout class is empty in '{$layoutPrefix}'. Using Simple layout");
             $layout = LoggerLayout::factory('LoggerLayoutSimple');
         } else {
             $layout = LoggerLayout::factory($layoutClass);
             if ($layout === null) {
                 LoggerLog::warn("LoggerPropertyConfigurator::parseAppender() " . "cannot create layout '{$layoutClass}'. Using Simple layout");
                 $layout = LoggerLayout::factory('LoggerLayoutSimple');
             }
         }
         LoggerLog::debug("LoggerPropertyConfigurator::parseAppender() " . "Parsing layout options for [{$appenderName}].");
         LoggerPropertySetter::setPropertiesByObject($layout, $props, $layoutPrefix . ".");
         LoggerLog::debug("LoggerPropertyConfigurator::parseAppender() " . "End Parsing layout options for [{$appenderName}].");
         $appender->setLayout($layout);
     }
     LoggerPropertySetter::setPropertiesByObject($appender, $props, $prefix . ".");
     LoggerLog::debug("LoggerPropertyConfigurator::parseAppender() " . "Parsed [{$appenderName}] options.");
     return $appender;
 }
 /**
  * Create a socket connection using defined parameters
  */
 function activateOptions()
 {
     LoggerLog::debug("LoggerAppenderSocket::activateOptions() creating a socket...");
     $errno = 0;
     $errstr = '';
     $this->sp = @fsockopen($this->getRemoteHost(), $this->getPort(), $errno, $errstr, $this->getTimeout());
     if ($errno) {
         LoggerLog::debug("LoggerAppenderSocket::activateOptions() socket error [{$errno}] {$errstr}");
         $this->closed = true;
     } else {
         LoggerLog::debug("LoggerAppenderSocket::activateOptions() socket created [" . $this->sp . "]");
         if ($this->getUseXml()) {
             $this->xmlLayout = LoggerLayout::factory('LoggerXmlLayout');
             if ($this->xmlLayout === null) {
                 LoggerLog::debug("LoggerAppenderSocket::activateOptions() useXml is true but layout is null");
                 $this->setUseXml(false);
             } else {
                 $this->xmlLayout->setLocationInfo($this->getLocationInfo());
                 $this->xmlLayout->setLog4jNamespace($this->getLog4jNamespace());
                 $this->xmlLayout->activateOptions();
             }
         }
         $this->closed = false;
     }
 }
Esempio n. 5
0
 public function activateOptions()
 {
     $this->layout = LoggerLayout::factory('LoggerLayoutTTCC');
     $this->closed = false;
 }
Esempio n. 6
0
 /**
  * Setup db connection.
  * Based on defined options, this method connects to db defined in {@link $dsn}
  * and creates a {@link $table} table if {@link $createTable} is true.
  * @return boolean true if all ok.
  */
 function activateOptions()
 {
     $this->db = DB::connect($this->dsn);
     if (DB::isError($this->db)) {
         LoggerLog::debug("LoggerAppenderDb::activateOptions() DB Connect Error [" . $this->db->getMessage() . "]");
         $this->db = null;
         $this->closed = true;
         $this->canAppend = false;
     } else {
         $this->layout = LoggerLayout::factory('LoggerPatternLayout');
         $this->layout->setConversionPattern($this->getSql());
         // test if log table exists
         $tableInfo = $this->db->tableInfo($this->table, $mode = null);
         if (DB::isError($tableInfo) and $this->getCreateTable()) {
             $query = "CREATE TABLE {$this->table} (timestamp varchar(32),logger varchar(32),level varchar(32),message varchar(64),thread varchar(32),file varchar(64),line varchar(4) );";
             LoggerLog::debug("LoggerAppenderDb::activateOptions() creating table '{$this->table}'... using sql='{$query}'");
             $result = $this->db->query($query);
             if (DB::isError($result)) {
                 LoggerLog::debug("LoggerAppenderDb::activateOptions() error while creating '{$this->table}'. Error is " . $result->getMessage());
                 $this->closed = true;
                 $this->canAppend = false;
                 return;
             }
         }
         $this->canAppend = true;
         $this->closed = false;
     }
 }
 /**
  * Setup db connection.
  * Based on defined options, this method connects to db defined in {@link $dsn}
  * and creates a {@link $table} table if {@link $createTable} is true.
  * @return boolean true if all ok.
  */
 function activateOptions()
 {
     $this->db =& ADONewConnection($this->type);
     if (!$this->db->PConnect($this->host, $this->user, $this->password, $this->database)) {
         LoggerLog::debug("LoggerAppenderAdodb::activateOptions() DB Connect Error [" . $this->db->ErrorMsg() . "]");
         $this->db = null;
         $this->closed = true;
         $this->canAppend = false;
         return;
     }
     $this->layout = LoggerLayout::factory('LoggerPatternLayout');
     $this->layout->setConversionPattern($this->getSql());
     // test if log table exists
     $sql = 'select * from ' . $this->table . ' where 1 = 0';
     $dbrs = $this->db->Execute($sql);
     if ($dbrs == false and $this->getCreateTable()) {
         $query = "CREATE TABLE {$this->table} (timestamp varchar(32),logger varchar(32),level varchar(32),message varchar(64),thread varchar(32),file varchar(64),line varchar(4) );";
         LoggerLog::debug("LoggerAppenderAdodb::activateOptions() creating table '{$this->table}'... using sql='{$query}'");
         $result = $this->db->Execute($query);
         if (!$result) {
             LoggerLog::debug("LoggerAppenderAdodb::activateOptions() error while creating '{$this->table}'. Error is " . $this->db->ErrorMsg());
             $this->canAppend = false;
             return;
         }
     }
     $this->canAppend = true;
 }
 /**
  * @param mixed $parser
  * @param string $tag
  */
 function tagClose($parser, $tag)
 {
     switch ($tag) {
         case 'CONFIGURATION':
         case LOG4PHP_LOGGER_DOM_CONFIGURATOR_XMLNS . ':CONFIGURATION':
             LoggerLog::debug("LoggerDOMConfigurator::tagClose() CONFIGURATION");
             break;
         case 'APPENDER':
         case LOG4PHP_LOGGER_DOM_CONFIGURATOR_XMLNS . ':APPENDER':
             LoggerLog::debug("LoggerDOMConfigurator::tagClose() APPENDER");
             if ($this->appender !== null) {
                 if ($this->appender->requiresLayout() and $this->appender->layout === null) {
                     $appenderName = $this->appender->getName();
                     LoggerLog::warn("LoggerDOMConfigurator::tagClose() APPENDER. " . "'{$appenderName}' requires a layout that is not defined. " . "Using a simple layout");
                     $this->appender->setLayout(LoggerLayout::factory('LoggerLayoutSimple'));
                 }
                 $this->appender->activateOptions();
             }
             array_pop($this->state);
             break;
         case 'FILTER':
         case LOG4PHP_LOGGER_DOM_CONFIGURATOR_XMLNS . ':FILTER':
             LoggerLog::debug("LoggerDOMConfigurator::tagClose() FILTER");
             if ($this->filter !== null) {
                 $this->filter->activateOptions();
                 $this->appender->addFilter($this->filter);
                 $this->filter = null;
             }
             array_pop($this->state);
             break;
         case 'LAYOUT':
         case LOG4PHP_LOGGER_DOM_CONFIGURATOR_XMLNS . ':LAYOUT':
             LoggerLog::debug("LoggerDOMConfigurator::tagClose() LAYOUT");
             if ($this->appender !== null and $this->layout !== null and $this->appender->requiresLayout()) {
                 $this->layout->activateOptions();
                 $this->appender->setLayout($this->layout);
                 $this->layout = null;
             }
             array_pop($this->state);
             break;
         case 'LOGGER':
         case LOG4PHP_LOGGER_DOM_CONFIGURATOR_XMLNS . ':LOGGER':
             LoggerLog::debug("LoggerDOMConfigurator::tagClose() LOGGER");
             array_pop($this->state);
             break;
         case 'ROOT':
         case LOG4PHP_LOGGER_DOM_CONFIGURATOR_XMLNS . ':ROOT':
             LoggerLog::debug("LoggerDOMConfigurator::tagClose() ROOT");
             array_pop($this->state);
             break;
     }
 }