Log::Dispatch::Handle.3pm

Langue: en

Version: 2010-05-02 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Log::Dispatch::Handle - Object for logging to IO::Handle classes

SYNOPSIS

   use Log::Dispatch::Handle;
 
   my $handle = Log::Dispatch::Handle->new( name      => 'a handle',
                                            min_level => 'emerg',
                                            handle    => $io_socket_object );
 
   $handle->log( level => 'emerg', message => 'I am the Lizard King!' );
 
 

DESCRIPTION

This module supplies a very simple object for logging to some sort of handle object. Basically, anything that implements a "print()" method can be passed the object constructor and it should work.

METHODS

*
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 on Log Levels for more information. Required.

*
max_level ($)

The maximum logging level this obejct will accept. See the Log::Dispatch documentation on Log Levels 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).

*
handle ($)

The handle object. This object must implement a "print()" method.

*
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).

AUTHOR

Dave Rolsky, <autarch@urth.org>