Hi Mike Firstly thanks for the help your help so far..
I think I am almost seeing the light, my only question now is actually outputting the log text, below is my test script, could you outline what I should be putting for the line :- get_logger()->info(@_) in the PRINT method of package Trapper; Currently the whole script gets in to a recursive mess, the file logging.conf contains a simple root logger which outputs to the screen, I have attached it but I suspect it is not of any use. ##################################################### #!/usr/bin/perl -w use strict; use Log::Log4perl qw( get_logger :levels ); use Log::Log4perl::Level; main(); sub main { Log::Log4perl->init_once('logging.conf'); my $log = Log::Log4perl->get_logger(''); tie *STDERR, "Trapper"; $log->info("This is an informational"); $log->error("This is an error"); IgnorantModule::some_method(); } ######################################## package IgnorantModule; ######################################## sub some_method { print STDERR "Parbleu! An error!\n"; } 1; ######################################## package Trapper; ######################################## use Log::Log4perl qw( get_logger :levels ); sub TIEHANDLE { my $class = shift; bless [], $class; } sub PRINT { my $self = shift; $Log::Log4perl::caller_depth++; get_logger()->info(@_); $Log::Log4perl::caller_depth--; } 1; ##################################################### Thanks Richard > -----Original Message----- > From: Mike Schilli [mailto:m...@perlmeister.com] > Sent: 20 May 2009 22:25 > To: Richard Burton > Cc: log4perl-devel@lists.sourceforge.net > Subject: Re: [log4perl-devel] Log4perl and catching unhandle > exceptions but not using 'easy' mode > > On Wed, 20 May 2009, Richard Burton wrote: > > > I can catch this using stealth as loggers outlined in > > > http://search.cpan.org/~mschilli/Log-Log4perl/lib/Log/Log4perl > /FAQ.pm#So > > > me_module_prints_messages_to_STDERR._How_can_I_funnel_them_to_ > Log::Log4p > > erl? > > > > but the example assumes you are using the "easy" > configuration method. > > Actually, this will work unmodified if you're using a > configuration file > instead. > > You're probably talking about the DEBUG(...) macro used in the code > example, which comes with :easy, but this is really unrelated to > easy_init() and can be used with init($conf_file) as well. > If you don't want the stealth loggers, get a logger and send > your debug > message via > > use Log::Log4perl qw(get_logger); > > get_logger()->debug("my debug message"); > > instead. > > > The question I have is can I do a similar thing but use an external > > configuration file for log4perl? I have tried but failed so would > > appreciate any guidance? > > This should work, what was the problem/error message you encountered? > > -- Mike > > Mike Schilli > m...@perlmeister.com >
logging.conf
Description: logging.conf
------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com
_______________________________________________ log4perl-devel mailing list log4perl-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/log4perl-devel