ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
Log_syslog Class Reference
+ Inheritance diagram for Log_syslog:
+ Collaboration diagram for Log_syslog:

Public Member Functions

 Log_syslog ($name, $ident= '', $conf=array(), $level=PEAR_LOG_DEBUG)
 Constructs a new syslog object.
 open ()
 Opens a connection to the system logger, if it has not already been opened.
 close ()
 Closes the connection to the system logger, if it is open.
 log ($message, $priority=null)
 Sends $message to the currently open syslog connection.
 _toSyslog ($priority)
 Converts a PEAR_LOG_* constant into a syslog LOG_* constant.
- Public Member Functions inherited from Log
 _classExists ($class)
 Utility function which wraps PHP's class_exists() function to ensure consistent behavior between PHP versions 4 and 5.
factory ($handler, $name= '', $ident= '', $conf=array(), $level=PEAR_LOG_DEBUG)
 Attempts to return a concrete Log instance of type $handler.
singleton ($handler, $name= '', $ident= '', $conf=array(), $level=PEAR_LOG_DEBUG)
 Attempts to return a reference to a concrete Log instance of type $handler, only creating a new instance if no log instance with the same parameters currently exists.
 flush ()
 Abstract implementation of the flush() method.
 emerg ($message)
 A convenience function for logging a emergency event.
 alert ($message)
 A convenience function for logging an alert event.
 crit ($message)
 A convenience function for logging a critical event.
 err ($message)
 A convenience function for logging a error event.
 warning ($message)
 A convenience function for logging a warning event.
 notice ($message)
 A convenience function for logging a notice event.
 info ($message)
 A convenience function for logging a information event.
 debug ($message)
 A convenience function for logging a debug event.
 _extractMessage ($message)
 Returns the string representation of the message data.
 _getBacktraceVars ($depth)
 Using debug_backtrace(), returns the file, line, and enclosing function name of the source code context from which log() was invoked.
 _format ($format, $timestamp, $priority, $message)
 Produces a formatted log line based on a format string and a set of variables representing the current log record and state.
 priorityToString ($priority)
 Returns the string representation of a PEAR_LOG_* integer constant.
 stringToPriority ($name)
 Returns the the PEAR_LOG_* integer constant for the given string representation of a priority name.
 MASK ($priority)
 Calculate the log mask for the given priority.
 UPTO ($priority)
 Calculate the log mask for all priorities up to the given priority.
 MIN ($priority)
 Calculate the log mask for all priorities greater than or equal to the given priority.
 MAX ($priority)
 Calculate the log mask for all priorities less than or equal to the given priority.
 setMask ($mask)
 Set and return the level mask for the current Log instance.
 getMask ()
 Returns the current level mask.
 _isMasked ($priority)
 Check if the given priority is included in the current level mask.
 getPriority ()
 Returns the current default priority.
 setPriority ($priority)
 Sets the default priority to the specified value.
 attach (&$observer)
 Adds a Log_observer instance to the list of observers that are listening for messages emitted by this Log instance.
 detach ($observer)
 Removes a Log_observer instance from the list of observers.
 _announce ($event)
 Informs each registered observer instance that a new message has been logged.
 isComposite ()
 Indicates whether this is a composite class.
 setIdent ($ident)
 Sets this Log instance's identification string.
 getIdent ()
 Returns the current identification string.

Data Fields

 $_name = LOG_SYSLOG
 $_inherit = false
- Data Fields inherited from Log
 $_opened = false
 $_id = 0
 $_ident = ''
 $_priority = PEAR_LOG_INFO
 $_mask = PEAR_LOG_ALL
 $_listeners = array()
 $_formatMap

Detailed Description

Definition at line 23 of file syslog.php.

Member Function Documentation

Log_syslog::_toSyslog (   $priority)

Converts a PEAR_LOG_* constant into a syslog LOG_* constant.

This function exists because, under Windows, not all of the LOG_* constants have unique values. Instead, the PEAR_LOG_* were introduced for global use, with the conversion to the LOG_* constants kept local to to the syslog driver.

Parameters
int$priorityPEAR_LOG_* value to convert to LOG_* value.
Returns
The LOG_* representation of $priority.

private

Definition at line 158 of file syslog.php.

References PEAR_LOG_ALERT, PEAR_LOG_CRIT, PEAR_LOG_DEBUG, PEAR_LOG_EMERG, PEAR_LOG_ERR, PEAR_LOG_INFO, PEAR_LOG_NOTICE, and PEAR_LOG_WARNING.

Referenced by log().

{
static $priorities = array(
PEAR_LOG_EMERG => LOG_EMERG,
PEAR_LOG_ALERT => LOG_ALERT,
PEAR_LOG_CRIT => LOG_CRIT,
PEAR_LOG_ERR => LOG_ERR,
PEAR_LOG_WARNING => LOG_WARNING,
PEAR_LOG_NOTICE => LOG_NOTICE,
PEAR_LOG_INFO => LOG_INFO,
PEAR_LOG_DEBUG => LOG_DEBUG
);
/* If we're passed an unknown priority, default to LOG_INFO. */
if (!is_int($priority) || !in_array($priority, $priorities)) {
return LOG_INFO;
}
return $priorities[$priority];
}

+ Here is the caller graph for this function:

Log_syslog::close ( )

Closes the connection to the system logger, if it is open.

public

Reimplemented from Log.

Definition at line 86 of file syslog.php.

{
if ($this->_opened && !$this->_inherit) {
closelog();
$this->_opened = false;
}
return true;
}
Log_syslog::log (   $message,
  $priority = null 
)

Sends $message to the currently open syslog connection.

Calls open() if necessary. Also passes the message along to any Log_observer instances that are observing this Log.

Parameters
mixed$messageString or object containing the message to log.
int$priority(optional) The priority of the message. Valid values are: PEAR_LOG_EMERG, PEAR_LOG_ALERT, PEAR_LOG_CRIT, PEAR_LOG_ERR, PEAR_LOG_WARNING, PEAR_LOG_NOTICE, PEAR_LOG_INFO, and PEAR_LOG_DEBUG.
Returns
boolean True on success or false on failure. public

Reimplemented from Log.

Definition at line 109 of file syslog.php.

References $_name, Log\$_priority, Log\_announce(), Log\_extractMessage(), Log\_isMasked(), _toSyslog(), and open().

{
/* If a priority hasn't been specified, use the default value. */
if ($priority === null) {
$priority = $this->_priority;
}
/* Abort early if the priority is above the maximum logging level. */
if (!$this->_isMasked($priority)) {
return false;
}
/* If the connection isn't open and can't be opened, return failure. */
if (!$this->_opened && !$this->open()) {
return false;
}
/* Extract the string representation of the message. */
$message = $this->_extractMessage($message);
/* Build a syslog priority value based on our current configuration. */
$priority = $this->_toSyslog($priority);
if ($this->_inherit) {
$priority |= $this->_name;
}
if (!syslog($priority, $message)) {
return false;
}
$this->_announce(array('priority' => $priority, 'message' => $message));
return true;
}

+ Here is the call graph for this function:

Log_syslog::Log_syslog (   $name,
  $ident = '',
  $conf = array(),
  $level = PEAR_LOG_DEBUG 
)

Constructs a new syslog object.

Parameters
string$nameThe syslog facility.
string$identThe identity string.
array$confThe configuration array.
int$levelLog messages up to and including this level. public

Definition at line 49 of file syslog.php.

References $_inherit, $name, and Log\UPTO().

{
/* Ensure we have a valid integer value for $name. */
if (empty($name) || !is_int($name)) {
$name = LOG_SYSLOG;
}
if (isset($conf['inherit'])) {
$this->_inherit = $conf['inherit'];
$this->_opened = $this->_inherit;
}
$this->_id = md5(microtime());
$this->_name = $name;
$this->_ident = $ident;
$this->_mask = Log::UPTO($level);
}

+ Here is the call graph for this function:

Log_syslog::open ( )

Opens a connection to the system logger, if it has not already been opened.

This is implicitly called by log(), if necessary. public

Reimplemented from Log.

Definition at line 73 of file syslog.php.

References Log\$_opened.

Referenced by log().

{
if (!$this->_opened) {
$this->_opened = openlog($this->_ident, LOG_PID, $this->_name);
}
}

+ Here is the caller graph for this function:

Field Documentation

Log_syslog::$_inherit = false

Definition at line 38 of file syslog.php.

Referenced by Log_syslog().

Log_syslog::$_name = LOG_SYSLOG

Definition at line 30 of file syslog.php.

Referenced by log().


The documentation for this class was generated from the following file: