Courier::Filter::Logger3pm
Abstract base class for loggers used by the courier::filter framework
Usage
Courier::Filter logging
use Courier::Filter::Logger::My; # Need to use a non-abstract sub-class.my $logger = Courier::Filter::Logger::My->new(%options);# 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,...);
Deriving new logger classes
package Courier::Filter::Logger::My;use base qw(Courier::Filter::Logger);
Overview
Sub-classes of Courier::Filter::Logger are used by the Courier::Filter mail filtering framework and its filter modules for the logging of errors and message rejections to arbitrary targets, like file handles or databases.
When overriding a method in a derived class, do not forget calling the inherited method from your overridden method.
Constructor
The following constructor is provided and may be overridden:
new(%options): returns Courier::Filter::Logger-
Creates a new logger using the
%optionsgiven as a list of key/value pairs. Initializes the logger, by creating/opening I/O handles, connecting to databases, etc.."Courier::Filter::Logger::new()"creates a hash-ref as an object of the invoked class, and stores the%optionsin it, but does nothing else.
Destructor
The following destructor is provided and may be overridden:
destroy-
Uninitializes the logger, by closing I/O handles, disconnecting from databases, etc..
"Courier::Filter::Logger::destroy()"does nothing. Sub-classes may override this method and define clean-up behavior.
Instance methods
The following instance methods are provided and may be overridden:
log_error($text)-
Logs the error message given as
$text(a string which may contain newlines)."Courier::Filter::Logger::log_error()"does nothing and should be overridden.
- log_rejected_message($message, $reason)
-
Logs the
Courier::Messagegiven as$messageas having been rejected due to$reason(a string which may contain newlines)."Courier::Filter::Logger::log_rejected_message()"does nothing and should be overridden.
Releases
10 releases since Debian 3.1 (Sarge); the text changed 5 times.