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
m...@perlmeister.com

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

Reply via email to