Courier::Filter::Logger(3pm)

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 %options given 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 %options in 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::Message given as $message as 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.

  1. 3.1–4.0
  2. 5.0–6.0
  3. 7
  4. 8
  5. 9–10
  6. 12–13

Author

Julian Mehnle <[email protected]>

From courier-filter-perl 0.200+ds-6 in Debian 13 (Trixie). Parsed by carta from the page's man source.