NAME
MooseX::LogDispatch - A Logging Role for Moose
VERSION
This document describes MooseX::LogDispatch version 1.0000
SYNOPSIS
package MyApp;
use Moose;
use MooseX::LogDispatch;
with Logger();
sub foo {
my ($self) = @_;
$self->logger->debug("started foo");
....
$self->logger->debug('ending foo');
}
DESCRIPTION
Log::Dispatch role for use with your Moose classes.
EXPORTS
Logger(%options)
This module will export the Logger
method which can be used to load a specific set of MooseX::Logdispatch roles to implement a specific combination of features. It is meant to make things easier, but it is by no means the only way. You can still compose your roles by hand if you like.
The following options are understood
- config
-
A suffix of the role you wish to use to configure the Logger.
MooseX::LogDispatch::Configurator::
is prepended to this value.Two roles are included in the dist - see "LOGGER ROLES"
- interface
-
Similar to
config
, but this controls the interfaces presented. See "INTERFACE ROLES" for details
ACCESSORS
logger
This is the main Log::Dispatch::Config object that does all the work. It has methods for each of the log levels, such as debug
or error
.
LOGGER ROLES
There are different ways of configuring a Log::Dispatch object. This distribution includes two roles:
Hardwired - hard-wired semi-sane defaults that logs everything to the screen. Enough to get you going, but you will probably not want to use this in the long run.
FileBased - Load config from a file using Log::Dispatch::Configurator::AppConfig
The config file is specified by using the
config_filename
attribute:package MybjectWithLog; use Moose; with Logger(config => 'FileBased'); ... # Later on my $obj = MyObjectWithLog->new( config_filename => '/etc/project.logger.cfg');
INTERFACE ROLES
Default - gives you a
logger
attribute which has methods to log at various levels.Levels - will give you methods for each of the various log levels dirrectly on your object:
package MyLogger; use Moost; with Logger(interface => 'Levels'); ... my $logger = MyLogger->new; $logger->debug('Logger created');
There will also be a
logger
attribute.
BUGS AND LIMITATIONS
No limitations have been reported.
Please report any bugs or feature requests to bug-moosex-logdispatch@rt.cpan.org
, or through the web interface at http://rt.cpan.org.
Or come bother us in #moose
on irc.perl.org
.
AUTHOR
Ash Berlin <ash@cpan.org>
Based on work by Chris Prather <perigrin@cpan.org>
LICENCE AND COPYRIGHT
Some development sponsored by Takkle Inc.
Copyright (c) 2007, Ash Berlin <ash@cpan.org>
. Some rights reserved.
Copyright (c) 2007, Chris Prather <perigrin@cpan.org>
. Some rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.