Loading...
Searching...
No Matches
Logger::Logger Class Reference

Implements main logger class whose instance will be used by user code when logging. More...

Inheritance diagram for Logger::Logger:
[legend]

## Public Member Functions

| addAppender (LoggerAppender appender)
| Adds an appender to the appender list.
| assertLog (bool assertion, string message,...)
| Performs logging of assertions.
| callAppenders (LoggerEvent event)
| Forwards the given logging event to all linked appenders.
| constructor (LoggerLevel level)
| Creates the object with an empty name and the given initial level.
| constructor (string name, LoggerLevel level)
| Creates the object.
| constructor (string name='')
| Creates the object.
| debug (string message,...)
| Logs a message object with the DEBUG level.
| debugVar (string var_name, auto value)
| Logs the variable name and value using DEBUG level.
*LoggerLevel | decLevel ()
| Decrement logger level.
| error (string message,...)
| Logs a message object with the ERROR level.
| fatal (string message,...)
| Logs a message object with the FATAL level.
bool | getAdditivity ()
| Returns the additivity flag.
list< LoggerAppender > | getAppenders ()
| Returns the appender list.
*LoggerLevel | getLevel (bool effective=True)
| Returns the logging level.
string | getName ()
| Returns the logger name.
*Logger | getParent ()
| Returns the parent logger, if any.
*LoggerLevel | incLevel ()
| Increment logger level.
| info (string message,...)
| Logs a message object with the INFO level.
bool | isDebugEnabled ()
| Checks whether this Logger is enabled for the DEBUG Level.
bool | isEnabledFor (int level)
| Checks whether this Logger is enabled for a given Level passed as parameter.
bool | isEnabledFor (LoggerLevel level)
| Checks whether this Logger is enabled for a given Level passed as parameter.
bool | isEnabledFor (string level)
| Checks whether this Logger is enabled for a given Level passed as parameter.
bool | isErrorEnabled ()
| Checks whether this Logger is enabled for the ERROR Level.
bool | isFatalEnabled ()
| Checks whether this Logger is enabled for the FATAL Level.
bool | isInfoEnabled ()
| Checks whether this Logger is enabled for the INFO Level.
bool | isTraceEnabled ()
| Checks whether this Logger is enabled for the TRACE Level.
bool | isWarnEnabled ()
| Checks whether this Logger is enabled for the WARN Level.
| log (int level, string message)
| Logs a message using the provided logging level.
| log (LoggerLevel level, string message)
| Logs a message using the provided logging level.
| log (string level, string message)
| Logs a message using the provided logging level.
| logArgs (int level, string message, *softlist< auto > args)
| Logs a message using the provided logging level and a single argument for any format string arguments.
| logArgs (LoggerLevel level, string message, *softlist< auto > args)
| Logs a message using the provided logging level and a single argument for any format string arguments.
| logArgs (string level, string message, *softlist< auto > args)
| Logs a message using the provided logging level and a single argument for any format string arguments.
| logEvent (LoggerEvent event)
| Logs an already prepared logging event object.
| removeAllAppenders ()
| Clears the appender list by removing all appenders.
| removeAppender (LoggerAppender appender)
| Removes the appender from the list.
| setAdditivity (bool enable)
| Sets the additivity flag; when additivity is active, events are passed to parent loggers.
| setLevel (*LoggerLevel level)
| Sets the logging level.
| setLevel (int level)
| Sets the logging level.
| setLevel (string level)
| Sets the logging level.
| setParent (*Logger value)
| Sets the parent logger.
| trace (string message,...)
| Logs a message object with the TRACE level.
| traceVar (string var_name, auto value)
| Logs the variable name and value using TRACE level.
| warn (string message,...)
| Logs a message object with the WARN level.
abstract | assertLog (bool assertion, string message,...)
| Performs logging of assertions.
abstract | debug (string message,...)
| Logs a message object with the DEBUG level.
abstract | debugVar (string var_name, auto value)
| Logs the variable name and value using DEBUG level.
abstract | error (string message,...)
| Logs a message object with the ERROR level.
abstract | fatal (string message,...)
| Logs a message object with the FATAL level.
abstract | info (string message,...)
| Logs a message object with the INFO level.
abstract bool | isDebugEnabled ()
| Checks whether this Logger is enabled for the DEBUG Level.
abstract bool | isEnabledFor (int level)
| Checks whether this Logger is enabled for a given Level passed as parameter.
abstract bool | isEnabledFor (LoggerLevel level)
| Checks whether this Logger is enabled for a given Level passed as parameter.
abstract bool | isEnabledFor (string level)
| Checks whether this Logger is enabled for a given Level passed as parameter.
abstract bool | isErrorEnabled ()
| Checks whether this Logger is enabled for the ERROR Level.
abstract bool | isFatalEnabled ()
| Checks whether this Logger is enabled for the FATAL Level.
abstract bool | isInfoEnabled ()
| Checks whether this Logger is enabled for the INFO Level.
abstract bool | isTraceEnabled ()
| Checks whether this Logger is enabled for the TRACE Level.
abstract bool | isWarnEnabled ()
| Checks whether this Logger is enabled for the WARN Level.
abstract | log (int level, string message)
| Logs a message using the provided logging level.
abstract | log (LoggerLevel level, string message)
| Logs a message using the provided logging level.
abstract | log (string level, string message)
| Logs a message using the provided logging level.
abstract | logArgs (int level, string message, *softlist< auto > args)
| Logs a message using the provided logging level and a single argument for any format string arguments.
abstract | logArgs (LoggerLevel level, string message, *softlist< auto > args)
| Logs a message using the provided logging level and a single argument for any format string arguments.
abstract | logArgs (string level, string message, *softlist< auto > args)
| Logs a message using the provided logging level and a single argument for any format string arguments.
abstract | logEvent (LoggerEvent event)
| Logs an already prepared logging event object.
abstract | trace (string message,...)
| Logs a message object with the TRACE level.
abstract | traceVar (string var_name, auto value)
| Logs the variable name and value using TRACE level.
abstract | warn (string message,...)
| Logs a message object with the WARN level.

## Protected Member Functions

hash< CallStackInfo > | getLocation ()
| Returns the call location where the log function was called from.

## Private Member Functions

transient RWLock | lock ()
| The lock to protect object manipulation.

## Static Private Member Functions

static RWLock | hierarchyLock ()
| The lock to protect access to parent/child hierarchy.

## Private Attributes

bool | additivity = True
| Logger additivity.
transient list< LoggerAppender > | appenders
| A collection of appenders linked to this logger.
*LoggerLevel | currentLevel
| The assigned Logger level. If NOTHING, the parent level is used.
string | name
| The name of this Logger instance.
*Logger | parent
| The parent logger. Unassigned if this is the root logger.

## Detailed Description

Implements main logger class whose instance will be used by user code when logging.

The Logger object is provided to user code. When a log is triggered, the message, arguments, current code position, and time are appended as a LoggerEvent event instance when the logging level is enabled. The event is passed to all registered appenders in the given Logger as well as in parents in the hierarchy when additivity is enabled.

## Member Function Documentation

## addAppender()

Logger::Logger::addAppender | ( | LoggerAppender | appender | ) |

Adds an appender to the appender list.

Parameters

  appender | add a new LoggerAppender

Exceptions

  LOGGER-ERROR | exception if appender is already in list

## assertLog()

Logger::Logger::assertLog | ( | bool | assertion,
|  | string | message,
|  |  | ...
| ) |  |

virtual

Performs logging of assertions.

If the assertion parameter is False, then the message is logged using the ERROR level.

See also
  log()

Parameters

  assertion | the boolean assertion value
  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## callAppenders()

Logger::Logger::callAppenders | ( | LoggerEvent | event | ) |

Forwards the given logging event to all linked appenders.

Parameters

  event | the event to forward

## constructor() [1/3]

Logger::Logger::constructor | ( | LoggerLevel | level | ) |

Creates the object with an empty name and the given initial level.

Parameters

  level | the initial level for the logger

## constructor() [2/3]

Logger::Logger::constructor | ( | string | name,
|  | LoggerLevel | level
| ) |  |

Creates the object.

Parameters

  name | the name of the object
  level | the initial level for the logger

## constructor() [3/3]

Logger::Logger::constructor | ( | string | name = `''` | ) |

Creates the object.

Parameters

  name | the name of the object

## debug()

Logger::Logger::debug | ( | string | message,
|  |  | ...
| ) |  |

virtual

Logs a message object with the DEBUG level.

See also
  log()

Parameters

  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## debugVar()

Logger::Logger::debugVar | ( | string | var_name,
|  | auto | value
| ) |  |

virtual

Logs the variable name and value using DEBUG level.

See also
  log()

Parameters

  var_name | the variable name
  value | the value of the variable

Implements Logger::LoggerInterface.

## decLevel()

*LoggerLevel Logger::Logger::decLevel | ( |  | ) |

Decrement logger level.

Returns
  current `LoggerLevel`

## error()

Logger::Logger::error | ( | string | message,
|  |  | ...
| ) |  |

virtual

Logs a message object with the ERROR level.

See also
  log()

Parameters

  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## fatal()

Logger::Logger::fatal | ( | string | message,
|  |  | ...
| ) |  |

virtual

Logs a message object with the FATAL level.

See also
  log()

Parameters

  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## getAppenders()

list< LoggerAppender > Logger::Logger::getAppenders | ( |  | ) |

Returns the appender list.

Note that the appender list may be manipulated in another thread as internal lock is released when list is returned

## getLevel()

*LoggerLevel Logger::Logger::getLevel | ( | bool | effective = `True` | ) |

Returns the logging level.

Parameters

  effective | if False then get current level which can be NOTHING, if True then get level which might be inherited from parent, Default: True

Exceptions

  LOGGER-ERROR | if cannot get effective level from hierarchy

## incLevel()

*LoggerLevel Logger::Logger::incLevel | ( |  | ) |

Increment logger level.

Returns
  current `LoggerLevel`

## info()

Logger::Logger::info | ( | string | message,
|  |  | ...
| ) |  |

virtual

Logs a message object with the INFO level.

See also
  log()

Parameters

  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## isEnabledFor() [1/3]

bool Logger::Logger::isEnabledFor | ( | int | level | ) |

virtual

Checks whether this Logger is enabled for a given Level passed as parameter.

Parameters

  level | the log level to check

Implements Logger::LoggerInterface.

## isEnabledFor() [2/3]

bool Logger::Logger::isEnabledFor | ( | LoggerLevel | level | ) |

virtual

Checks whether this Logger is enabled for a given Level passed as parameter.

Parameters

  level | the log level to check

Implements Logger::LoggerInterface.

## isEnabledFor() [3/3]

bool Logger::Logger::isEnabledFor | ( | string | level | ) |

virtual

Checks whether this Logger is enabled for a given Level passed as parameter.

Parameters

  level | the log level to check

Implements Logger::LoggerInterface.

## log() [1/3]

Logger::Logger::log | ( | int | level,
|  | string | message
| ) |  |

virtual

Logs a message using the provided logging level.

Parameters

  level | the logging level.
  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## log() [2/3]

Logger::Logger::log | ( | LoggerLevel | level,
|  | string | message
| ) |  |

virtual

Logs a message using the provided logging level.

Parameters

  level | The logging level.
  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## log() [3/3]

Logger::Logger::log | ( | string | level,
|  | string | message
| ) |  |

virtual

Logs a message using the provided logging level.

Parameters

  level | The logging level.
  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## logArgs() [1/3]

Logger::Logger::logArgs | ( | int | level,
|  | string | message,
|  | *softlist< auto > | args
| ) |  |

virtual

Logs a message using the provided logging level and a single argument for any format string arguments.

Parameters

  level | the logging level.
  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.
  args | any format string arguments to the log message

Implements Logger::LoggerInterface.

## logArgs() [2/3]

Logger::Logger::logArgs | ( | LoggerLevel | level,
|  | string | message,
|  | *softlist< auto > | args
| ) |  |

virtual

Logs a message using the provided logging level and a single argument for any format string arguments.

Parameters

  level | The logging level.
  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.
  args | any format string arguments to the log message

Implements Logger::LoggerInterface.

## logArgs() [3/3]

Logger::Logger::logArgs | ( | string | level,
|  | string | message,
|  | *softlist< auto > | args
| ) |  |

virtual

Logs a message using the provided logging level and a single argument for any format string arguments.

Parameters

  level | The logging level.
  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.
  args | any format string arguments to the log message

Implements Logger::LoggerInterface.

## logEvent()

Logger::Logger::logEvent | ( | LoggerEvent | event | ) |

virtual

Logs an already prepared logging event object.

Parameters

  event | the event to log

Implements Logger::LoggerInterface.

## removeAppender()

Logger::Logger::removeAppender | ( | LoggerAppender | appender | ) |

Removes the appender from the list.

Parameters

  appender | the appender to remove

## setAdditivity()

Logger::Logger::setAdditivity | ( | bool | enable | ) |

Sets the additivity flag; when additivity is active, events are passed to parent loggers.

Parameters

  enable | the additivity flag; when additivity is active, events are passed to parent loggers

## setLevel() [1/3]

Logger::Logger::setLevel | ( | *LoggerLevel | level | ) |

Sets the logging level.

Parameters

  level | if nothing then inherits level from parent

## setLevel() [2/3]

Logger::Logger::setLevel | ( | int | level | ) |

Sets the logging level.

Parameters

  level | the logging level to set

## setLevel() [3/3]

Logger::Logger::setLevel | ( | string | level | ) |

Sets the logging level.

Parameters

  level | the logging level as a string

## setParent()

Logger::Logger::setParent | ( | *Logger | value | ) |

Sets the parent logger.

Parameters

  value | the parent logger

Exceptions

  LOGGER-ERROR | in case of circular reference

## trace()

Logger::Logger::trace | ( | string | message,
|  |  | ...
| ) |  |

virtual

Logs a message object with the TRACE level.

See also
  log()

Parameters

  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## traceVar()

Logger::Logger::traceVar | ( | string | var_name,
|  | auto | value
| ) |  |

virtual

Logs the variable name and value using TRACE level.

See also
  log()

Parameters

  var_name | the variable name
  value | the value of the variable

Implements Logger::LoggerInterface.

## warn()

Logger::Logger::warn | ( | string | message,
|  |  | ...
| ) |  |

virtual

Logs a message object with the WARN level.

See also
  log()

Parameters

  message | a string to log used as a format string for vsprintf(). Optional arguments are passed to the LoggerEvent object. If the last parameter is an ExceptionInfo typed hash, then it is considered "throwable" information.

Implements Logger::LoggerInterface.

## Member Data Documentation

## additivity

bool Logger::Logger::additivity = True

private

Logger additivity.

If set to true then child loggers will inherit the appenders of their ancestors by default