NAME
Gungho::Log::Dispatch - Log::Dispatch-Based Log For Gungho
SYNOPSIS
# in your Gungho config
log:
module: Dispatch
config:
logs:
- module: Screen
min_level: debug
name: stderr
stderr: 1
- module: File
min_level: info
filename: /path/tofilename
mode: append
# ... or somewhere in your code ..
use Gungho::Log::Dispatch;
my $log = Gungho::Log::Dispatch->new();
$log->setup($c, {
logs => [
{ module => 'Screen',
min_level => 'debug',
name => 'stderr',
stderr => 1
},
{ module => 'File',
min_level => 'info',
filename => '/path/to/filename'
mode => 'append'
}
]
});
DESCRIPTION
This is the main log class for Gungho. It gives you the full power of Log::Dispatch for your needs.
To use, specify something like this in your config:
log:
module: Dispatch
config:
logs:
- module: File
min_level: info
filename: /path/to/filename
name: logfile
Each entry in the logs
section specifies one Log::Dispatch type. The module
parameter is taken as the Log::Dispatch subclass name, and it will be prefixed with the string "Log::Dispatch::". All other parameters are passed directly to the constructor.
You may specify multiple logs to be added to the Log::Dispatch object. See the documentation for Log::Dispatch for details.
To log, access the log object from $c:
$c->log->debug("This is a debug message");
$c->log->emergency("This is an emergency message");
CAVEATS
Do NOT use Log::Dispatch::File::Locked if you're running Gungho in a multi-process environment. It's obvious if you think about it, but this is a hard-to-debug problem because File::Locked will simply sit on its flock() wait while 1 Gungho process will merrily go processing requests.
METHODS
setup($c, \%config)
Sets up the module
debug
info
notice
warning
error
critical
alert
emergency
Logs to each level