SYNOPSIS

    use Courier::Filter::Logger::IOHandle;

    my $logger = Courier::Filter::Logger::IOHandle->new(
        handle => $handle
    );

    # For use in an individual filter module:
    my $module = Courier::Filter::Module::My->new(
        ...
        logger => $logger,
        ...
    );

    # For use as a global Courier::Filter logger object:
    my $filter = Courier::Filter->new(
        ...
        logger => $logger,
        ...
    );

DESCRIPTION

This class is an I/O handle logger class for use with Courier::Filter and its filter modules.

Constructor

The following constructor is provided:

new(%options): returns Courier::Filter::Logger::IOHandle

Creates a new logger that logs messages as lines to an I/O handle. %options is a list of key/value pairs representing any of the following options:

handle

Required. The I/O handle or IO::Handle object to which log messages should be written.

timestamp

A boolean value controlling whether every log message line should be prefixed with a timestamp (in local time, in \s-1ISO\s0 format). Defaults to false.

Instance methods

The following instance methods are provided:

log_error($text): throws Perl exceptions

Logs the error message given as $text (a string which may contain newlines). Prefixes each line with a timestamp if the \*(C`timestamp\*(C' option has been set through the constructor. Logs the Courier::Message given as $message as having been rejected due to $reason (a string which may contain newlines).

RELATED TO Courier::Filter::Logger::IOHandle…

Courier::Filter::Logger, Courier::Filter::Overview.

For \s-1AVAILABILITY\s0, \s-1SUPPORT\s0, and \s-1LICENSE\s0 information, see Courier::Filter::Overview.

AUTHOR

Julian Mehnle <[email protected]>