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 ISO 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 "timestamp" option has been set through the constructor.
- log_rejected_message($message, $reason): throws Perl exceptions
- Logs the Courier::Message given as $message as having been rejected due to $reason (a string which may contain newlines).