Log::Dispatch::Channels - Adds separate logging channels to Log::Dispatch
version 0.01
use Log::Dispatch::Channels; my $logger = Log::Dispatch::Channels->new; $logger->add_channel('foo'); my $timestamper = sub { my %p = @_; return time . $p{message}; }; $logger->add_channel('bar', callbacks => $timestamper); $logger->add(Log::Dispatch::File->new(channels => 'foo', name => 'foo', min_level => 'debug', filename => 'foo.log')); $logger->add(Log::Dispatch::Null->new(channels => 'bar', name => 'bar', min_level => 'debug')); $logger->add(Log::Dispatch::File->new(channels => [qw/foo bar/], name => 'errors', min_level => 'error', filename => 'error.log')); $logger->log(channels => 'foo', level => 'debug', message => 'For foo'); $logger->log(channels => 'bar', level => 'error', message => 'For bar and errors');
This module manages a set of Log::Dispatch objects, treating them as separate message channels to which messages can be logged. These objects can share Log::Dispatch::Output objects, to allow for logging to multiple places simultaneously and automatically.
Returns a new Log::Dispatch::Channels object.
Adds a new message channel named $NAME. This channel is actually a Log::Dispatch object, and @ARGS is forwarded on to the Log::Dispatch constructor.
Removes the channel named $NAME and returns it.
Adds $OUTPUT (which is a Log::Dispatch::Output object), and also adds it to each channel named in $NAMES. $NAMES can be a string specifying a single channel, an arrayref of strings specifying multiple channels, or left out to add the output to all channels (this applies for each function taking a 'channels' argument).
Removes the output named $NAME from the object and from each of the channels, and then returns it.
Forwards %ARGS on to the log method of each channel listed in $NAMES.
Forwards %ARGS on to the log_and_die method of each channel listed in $NAMES.
Forwards %ARGS on to the log_and_croak method of each channel listed in $NAMES.
Forwards %ARGS on to the log method of the output named $NAME.
Returns true if any channel named in $NAMES would log a message of level $LEVEL.
Returns the Log::Dispatch::Output object named $NAME.
Returns the Log::Dispatch object named $NAME.
Jesse Luehrs <doy at tozt dot net>
This software is copyright (c) 2008 by Jesse Luehrs.
This is free software; you can redistribute it and/or modify it under the same terms as perl itself.
Allow top level callbacks on the Log::Dispatcher::Channels object
Log::Dispatch
No known bugs.
Please report any bugs through RT: email bug-log-dispatch-channels at rt.cpan.org, or browse to http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Log-Dispatch-Channels.
bug-log-dispatch-channels at rt.cpan.org
You can find this documentation for this module with the perldoc command.
perldoc Log::Dispatch::Channels
You can also look for information at:
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Log-Dispatch-Channels
CPAN Ratings
http://cpanratings.perl.org/d/Log-Dispatch-Channels
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Log-Dispatch-Channels
Search CPAN
http://search.cpan.org/dist/Log-Dispatch-Channels
To install Log::Dispatch::Channels, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Log::Dispatch::Channels
CPAN shell
perl -MCPAN -e shell install Log::Dispatch::Channels
For more information on module installation, please visit the detailed CPAN module installation guide.