NAME
Log::Handler::Category - Configuration examples for categories.
CONFIGURATION EXAMPLES
Note that you can find a full code example in the distribution within the directory Log-Handler-$VERSION/examples/category/
.
example1.conf
<file>
filename log/common.log
maxlevel info
minlevel emerg
message_layout %T [%L] (%p) %m
</file>
<category>
<MyApp::Admin>
<file>
filename log/admin.log
maxlevel info
minlevel emerg
message_layout %T [%L] (%p) %m
</file>
</MyApp>
<MyApp::Admin::User>
<file>
filename log/user.log
maxlevel info
minlevel emerg
message_layout %T [%L] (%p) %m
</file>
</MyApp::Admin::User>
</category>
Load the configuration
use Log::Handler;
my $log = Log::Handler->new();
$log->config("example1.conf");
Or with
use Log::Handler;
my $log = Log::Handler->config("example1.conf");
example2.conf
<category>
<main>
<file>
filename log/common.log
maxlevel info
minlevel emerg
message_layout %T [%L] (%p) %m
</file>
</main>
<MyApp::Admin>
<file>
filename log/admin.log
maxlevel info
minlevel emerg
message_layout %T [%L] (%p) %m
</file>
</MyApp>
<MyApp::Admin::User>
<file>
filename log/user.log
maxlevel info
minlevel emerg
message_layout %T [%L] (%p) %m
</file>
</MyApp::Admin::User>
</category>
Load the configuration
package MyApp;
use Log::Handler;
Log::Handler->config("example2.conf");
my $log = Log::Handler->get_logger("main");
example3.conf with aliases
Aliases are stricly recommended if you want to reload the logging machine with reload
.
<file>
<common>
filename log/common.log
maxlevel info
minlevel emerg
message_layout %T [%L] (%p) %m
</common>
<error>
filename log/error.log
maxlevel warning
minlevel emerg
message_layout %T [%L] (%p) %m
</error>
</file>
<category>
<MyApp::Admin>
<file>
<common>
filename log/admin-common.log
maxlevel info
minlevel emerg
message_layout %T [%L] (%p) %m
</common>
<error>
filename log/admin-error.log
maxlevel warning
minlevel emerg
message_layout %T [%L] (%p) %m
</error>
</file>
</MyApp>
<MyApp::Admin::User>
<file>
alias common
filename log/user.log
maxlevel info
minlevel emerg
message_layout %T [%L] (%p) %m
</file>
</MyApp::Admin::User>
</category>
AUTHOR
Jonny Schulz <jschulz.cpan(at)bloonix.de>.