On Tue, 25 Oct 2011, Mike Schilli wrote:
> the delay on this ... this snippet doesn't compile for me
> because $cfg isn't defined
Gah, I had a missing module, never mind. The wrapper registration seems
to work, though, here's the output of the script below:
2011/10/26 08:44:32 l4pm 54> Whoa!
which prints the correct file and line number. Log4perl configuration is
log4perl.category = WARN, Screen
log4perl.appender.Screen = Log::Log4perl::Appender::Screen
log4perl.appender.Screen.filename = test.log
log4perl.appender.Screen.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.Screen.layout.ConversionPattern = %d %F{1} %L> %m %n
Let me know if you're doing something different.
--
-- Mike
Mike Schilli
[email protected]
#!/usr/local/bin/perl -w
use strict;
##---------------------------------------------------------------------------
{
package Wrapper::Log::Log4perl;
use local::lib;
use Moose;
use MooseX::Method::Signatures;
use Log::Log4perl;
Log::Log4perl->wrapper_register( __PACKAGE__ );
## Attribute definitions
has 'logger' => (
is => 'rw',
isa => 'Log::Log4perl::Logger',
);
has 'logger_cfg' => (
is => 'ro',
isa => 'Maybe[Str]',
);
## Object initialization
sub BUILD {
my $self = shift();
unless ( Log::Log4perl->initialized() ) {
$self->init( $self->logger_cfg() );
}
$self->logger( Log::Log4perl->get_logger() );
}
## Method definitions
method init ( Str $cfg ) {
Log::Log4perl->init( $cfg );
};
__PACKAGE__->meta->make_immutable();
}
##---------------------------------------------------------------------------
{
package main;
use Data::Dumper;
my $logApi = Wrapper::Log::Log4perl->new( logger_cfg =>
'test.l4p' );
$logApi->logger->warn("Whoa!");
}
>> I've recently encountered an odd issue while using Moose to create
>> a wrapper class for Log::Log4perl that results in the logger's
>> category somehow being returned as 'Eval.Closure', despite that I've
>> registered the wrapper class as indicated in the documentation.
------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
log4perl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/log4perl-devel