Log::Dispatch::File - Object for logging to files
use Log::Dispatch::File;
my $file = Log::Dispatch::File->new( name => 'file1',
min_level => 'info',
filename => 'Somefile.log',
mode => 'append' );
$file->log( level => 'emerg', message => "I've fallen and I can't get up\n" );
This module provides a simple object for logging to files under the
Log::Dispatch::* system.
- * new(%p)
-
This method takes a hash of parameters. The following options are
valid:
- -- name ($)
-
The name of the object (not the filename!). Required.
- -- min_level ($)
-
The minimum logging level this object will accept. See the
Log::Dispatch documentation for more information. Required.
- -- max_level ($)
-
The maximum logging level this obejct will accept. See the
Log::Dispatch documentation for more information. This is not
required. By default the maximum is the highest possible level (which
means functionally that the object has no maximum).
- -- filename ($)
-
The filename to be opened for writing.
- -- mode ($)
-
The mode the file should be opened with. Valid options are 'write',
'>', 'append', '>>', or the relevant constants from Fcntl. The
default is 'write'.
- -- autoflush ($)
-
Whether or not the file should be autoflushed. This defaults to true.
- -- callbacks( \& or [ \&, \&, ... ] )
-
This parameter may be a single subroutine reference or an array
reference of subroutine references. These callbacks will be called in
the order they are given and passed a hash containing the following keys:
( message => $log_message, level => $log_level )
The callbacks are expected to modify the message and then return a
single scalar containing that modified message. These callbacks will
be called when either the log
or log_to
methods are called and
will only be applied to a given message once.
- * log_message( message => $ )
-
Sends a message to the appropriate output. Generally this shouldn't
be called directly but should be called through the
log()
method
(in Log::Dispatch::Output).
Dave Rolsky, <autarch@urth.org>