Wombat::Logger::LoggerBase - logger base class

- NAME
- SYNOPSIS
- DESCRIPTION
- CONSTRUCTOR
- ACCESSOR METHODS
- PUBLIC METHODS
- LIFECYCLE METHODS
- SEE ALSO
- AUTHOR

# NAME

Wombat::Logger::LoggerBase - logger base class

# SYNOPSIS

      package My::Logger;

      use base qw(Wombat::Logger::LoggerBase);

# DESCRIPTION

Convenience base class for logger implementations. The only method that must be implemented is `write()`, plus any accessor methods required for configuration, and `start()` and `stop()` if resources must be initialized and cleaned up.

# CONSTRUCTOR

`new()`
  Construct and return a Wombat::Logger::LoggerBase instance, initializing fields appropriately. If subclasses override the constructor, they must be sure to call

        $self->SUPER::new();

# ACCESSOR METHODS

`getContainer()`
  Return the Container with which this Logger is associated.

`setContainer($container)`
  Set the Container with which this Logger is associated.

  Parameters:

  $container
    the Container with which this Logger is associated

`getLevel()`
  Return the verbosity level of this Logger.

`setLevel($level)`
  Set the verbosity level of this Logger. Messages logged with a higher verbosity than this will be silently ignored.

  Allowable values in increasing order are:

  'FATAL'
  'ERROR'
  'WARNING'
  'INFO'
  'DEBUG'

  The default level is 'ERROR'.

  Parameters:

  $level
    the verbosity level, as a string

  Throws:

  Servlet::Util::IllegalArgumentException
    if the specified log level is not one of the allowed values

# PUBLIC METHODS

log($message, $exception, $level)
  Send a message and/or an exception to the log destination. If a level is specified, the Logger must be set to a verbosity level greater than or equal to the specified level. If a level is not specified, the message and/or exception will be logged unconditionally.

  Parameters:

  $message
    an optional string message to log

  $exception
    an optional exception to log in stack trace form

  $level
    an optional log level

`write($string)`
  Write the specified string to the log destination. The default implementation does nothing. Subclasses must override this method.

  Parameters:

  $string
    the string to write to the log destination

# LIFECYCLE METHODS

`start()`
  Prepare for the beginning of active use of this Logger. This method must be called before any of the public methods of the component are utilized. Subclasses should initialize logging resources with this method.

  Throws:

  Wombat::LifecycleException
    if the Logger cannot be started

`stop()`
  Gracefully terminate the active use of this Logger. This method must be the last called on a given instance of this component. Subclasses should release logging resources with this method.

  Throws:

  Wombat::LifecycleException
    if the Logger cannot be stopped

# SEE ALSO

the Servlet::Util::Exception manpage, the Wombat::Exception manpage

# AUTHOR

Brian Moseley, bcm@maz.org