Provided by: courier-filter-perl_0.200+ds-4_all bug


       Courier::Filter::Logger - Abstract base class for loggers used by the Courier::Filter


   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);


       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.

       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,

           "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.

       The following destructor is provided and may be overridden:

           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:

           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


       Courier::Filter, Courier::Filter::Module.

       For a list of prepared loggers that come with Courier::Filter, see "Bundled
       Courier::Filter loggers" in Courier::Filter::Overview.

       For AVAILABILITY, SUPPORT, and LICENSE information, see Courier::Filter::Overview.


       Julian Mehnle <>