| Courier-Filter documentation | Contained in the Courier-Filter distribution. |
Courier::Filter::Logger::File - File logger for the Courier::Filter framework
use Courier::Filter::Logger::File;
my $logger = Courier::Filter::Logger::File->new(
file_name => $file_name
);
# 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,
...
);
This class is a file logger class for use with Courier::Filter and its filter modules. It is derived from Courier::Filter::Logger::IOHandle.
The following constructor is provided:
Creates a new logger that logs messages as lines to a file. Opens the file for writing, creating it if necessary.
%options is a list of key/value pairs representing any of the following options:
Required. The name of the file to which log messages should be written.
A boolean value controlling whether every log message line should be prefixed with a timestamp (in local time, in ISO format). Defaults to false.
The following instance methods are provided, as inherited from Courier::Filter::Logger::IOHandle:
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.
Logs the Courier::Message given as $message as having been rejected due
to $reason (a string which may contain newlines).
Courier::Filter::Logger::IOHandle, Courier::Filter::Logger, Courier::Filter::Overview.
For AVAILABILITY, SUPPORT, and LICENSE information, see Courier::Filter::Overview.
Julian Mehnle <julian@mehnle.net>
| Courier-Filter documentation | Contained in the Courier-Filter distribution. |
# # Courier::Filter::Logger::File class # # (C) 2003-2008 Julian Mehnle <julian@mehnle.net> # $Id: File.pm 210 2008-03-21 19:30:31Z julian $ # ###############################################################################
package Courier::Filter::Logger::File;
use warnings; use strict; use base 'Courier::Filter::Logger::IOHandle'; use Error ':try'; use Courier::Error; use IO::File; use constant TRUE => (0 == 0); use constant FALSE => not TRUE;
# Implementation: ###############################################################################
sub new { my ($class, %options) = @_; my $handle = IO::File->new($options{file_name}, '>>') or throw Courier::Error("Unable to open log file '$options{file_name}' for writing"); return $class->SUPER::new( %options, handle => $handle ); }
TRUE;