Bot::Cobalt::Logger::Output - Log handler output manager
## Normally constructed by Bot::Cobalt::Logger my $log_output = Bot::Cobalt::Logger::Output->new( log_format => $log_format, time_format => $time_format, ); $log_output->add( 'my_alias' => { type => 'File', file => $path_to_log, }, );
This is the output manager for Bot::Cobalt::Logger, handling dispatch to log writers such as Bot::Cobalt::Logger::Output::File and Bot::Cobalt::Logger::Output::Term.
add() takes a list of aliases to add, mapped to a HASH containing the name of their writer class (type) and arguments to pass to the writer class constructor:
add()
$log_output->add( ## Add a Bot::Cobalt::Logger::Output::File ## new() is passed 'file => $path_to_log' MyLogger => { type => 'File', file => $path_to_log, }, ## Add a Logger::Output::Term also: Screen => { type => 'Term', }, );
The specified outputs will be initialized and tracked; their _write method is called when log messages are received.
_write
del() takes a list of aliases to delete.
del()
Returns the number of aliases actually deleted.
get() takes an alias and returns the appropriate writer object (or undef).
get()
log_format can be specified at construction time or changed on the fly.
This is used to specify the actual layout of each individual logged message (for the default formatter; specific output classes may choose to override the formatter and disregard log_format).
Takes a "rplprintf" in Bot::Cobalt::Utils template string; normal rplprintf usage rules apply -- a replacement sequence starts with '%' and is terminated by either a space or a trailing '%'.
Defaults to "%level %time (%pkg%) %msg"
Replacement variables passed in to the template are:
msg Actual (concatenated) log message level Level this message was logged to time Current date and time (see time_format) pkg Package this log method was called from file File called from line Line called from sub Subroutine called from
time_format can be specified at construction time or changed on the fly.
This is used to create the '%time' template variable for "log_format".
It is fed to strftime to create a time/date string; see the documentation for strftime on your system for a complete list of usable replacement sequences.
strftime
Defaults to "%Y-%m-%d %H:%M:%S"
Commonly used replacement sequences include:
%Y Current year including century. %m Current month (as a number) %d Current day of the month. %A Full weekday name %a Abbreviated weekday name %B Full month name %b Abbreviated month name %H Hour of the day (on a 24-hour clock) %I Hour of the day (on a 12-hour clock) %p 'AM' or 'PM' indication %M Current minute %S Current second %Z Current timezone %s Seconds since epoch ("Unix time") %% Literal %
Jon Portnoy <avenj@cobaltirc.org>
To install Bot::Cobalt, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bot::Cobalt
CPAN shell
perl -MCPAN -e shell install Bot::Cobalt
For more information on module installation, please visit the detailed CPAN module installation guide.