On Wed, 12 Oct 2011, J Mash wrote:

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.

Sorry for the delay on this ... this snippet doesn't compile for me
because $cfg isn't defined ... can you please check if you're missing
a piece (please enable use strict/use warnings).

--
-- Mike

Mike Schilli
m...@perlmeister.com

  I'm not sure if this is an actual issue or just something I'm missing
with regards to wrapping Log::Log4perl, but here's a simplified code
example that exhibits the issue:

##---------------------------------------------------------------------------
------------------------------------------
{
    package Wrapper::Log::Log4perl;

    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 =>
'../Data/INI/Log/Log4perl.ini' );
   
    print( Dumper($Log::Log4perl::Logger::LOGGERS_BY_NAME) );
}

Thanks in advance for taking a peek, and let me know if there's any more
information I can provide.
--J

------------------------------------------------------------------------------
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
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel

Reply via email to