MooseX::Log::Log4perl::Easy - A role for easy usage of logging in your Moose based modules based on MooseX::Log::Log4perl
package MyApp; use Moose; use Log::Log4perl qw(:easy); with 'MooseX::Log::Log4perl::Easy'; BEGIN { Log::Log4perl->easy_init(); } sub foo { my ($self) = @_; $self->log_debug("started bar"); ### logs with default class catergory "MyApp" $self->log_info('bar'); ### logs an info message $self->log('AlsoPossible')->fatal("croak"); ### log }
The Easy logging role based on the MooseX::Log::Log4perl logging role for Moose directly adds the logmethods for all available levels to your class instance. Hence it is possible to use
$self->log_info("blabla");
without having to access a separate log attribute as in MooseX::Log::Log4perl;
In case your app grows and you need more of the super-cow powers of Log4perl or simply don't want the additional methods to clutter up your class you can simply replace all code $self->log_LEVEL with $self->log->LEVEL.
$self->log_LEVEL
$self->log->LEVEL
You can use the following regex substitution to accomplish that:
s/log(_(trace|debug|info|warn|error|fatal))/log->$2/g
See MooseX::Log::Log4perl
Logs a fatal message $msg using the logger attribute. Same as calling
$self->logger->fatal($msg)
Logs an error message using the logger attribute. Same as calling
$self->logger->error($msg)
Logs a warn message using the logger attribute. Same as calling
$self->logger->warn($msg)
Logs an info message using the logger attribute. Same as calling
$self->logger->info($msg)
Logs a debug message using the logger attribute. Same as calling
$self->logger->debug($msg)
Logs a trace message using the logger attribute. Same as calling
$self->logger->trace($msg)
MooseX::Log::Log4perl, Log::Log4perl, Moose
Please report any bugs or feature requests to bug-moosex-log4perl@rt.cpan.org, or through the web interface at http://rt.cpan.org.
bug-moosex-log4perl@rt.cpan.org
Or come bother us in #moose on irc.perl.org.
#moose
irc.perl.org
Roland Lammel <lammel@cpan.org>
<lammel@cpan.org>
Inspired by suggestions by Michael Schilli <m@perlmeister.com>
<m@perlmeister.com>
Contributions from Tim Bunce <TIMB@cpan.org>
<TIMB@cpan.org>
Copyright (c) 2008-2012, Roland Lammel <lammel@cpan.org>, http://www.quikit.at
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.
To install MooseX::Log::Log4perl, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooseX::Log::Log4perl
CPAN shell
perl -MCPAN -e shell install MooseX::Log::Log4perl
For more information on module installation, please visit the detailed CPAN module installation guide.