On Fri, 23 Nov 2007, Johannes Kilian wrote: > Using my "traditional" log4perl configuration file (used from 0.51 > on) the 1.12 Version shows following behaviour (which I didn't > notice with earlier versions ...): > 1.) Initializing log4perl works without any errors > 2.) Getting loggers works without any errors > 3.) Using $logger->logdie(...) (and other functions dieing, like > $logger->error_die(...)) makes the program die IMMEDIATELY; I'm not able to > catch the die-exception within an eval{} block -> WHY??? - I'm sure it worked > with earlier versions of log4perl ..
Hmm, the following works for me: use Log::Log4perl qw(:easy); Log::Log4perl->easy_init($DEBUG); eval { LOGDIE "Waah!"; }; print "Survived!\n"; and prints 2007/11/30 17:38:48 Waah! Survived! Do you have a __DIE__ handler defined somewhere by any chance? -- Mike Mike Schilli [EMAIL PROTECTED] > 4.) Finishing my program an error from log4perl occurs: (in cleanup) > Internal error: Root Logger not initialized. at > C:/Programme/Perl/site/lib/Log/Log4perl/Logger.pm line 557 during global > destruction. > > What's going on? What can I do to make $logger->logdie(...) to be catchable > with eval{} again? > > Any help welcome ... > > Johannes > > As an appendix, my Log4perl-configuration (quite complex): > > <?xml version="1.0" encoding="utf-8"?> > <!DOCTYPE log4perl:configuration SYSTEM "log4perl.dtd"> > <log4perl:configuration xmlns:log4perl="http://log4perl.sourceforge.net/" > threshold="debug" > oneMessagePerAppender="true"> > <!--- > *************************************************************************************** > --> > <!-- *** APPENDER > ************************************************************************** --> > <!-- > *************************************************************************************** > --> > <log4perl:appender name="AppGeneralFile" > class="Log::Log4perl::Appender::File"> > <param name="filename" > value="sub { > Vitronic::BuildSteps::MiscBuildStep::getLogfileName('TYPE' => 'FULL'); };" > /> > <param name="mode" > value="write" /> > <param name="autoflush" > value="1" /> > <filter-ref id="FilterInfo" /> > <log4perl:layout name="LayoutDateTimeClass" > class="org.apache.log4j.PatternLayout"> > <param name="ConversionPattern" > value="%d %p [%c]: %m%n" /> > </log4perl:layout> > </log4perl:appender> > <log4perl:appender name="AppErrorFile" > class="Log::Log4perl::Appender::File"> > <param name="filename" > value="sub { > Vitronic::BuildSteps::MiscBuildStep::getLogfileName('TYPE' => 'ERR'); };" > /> > <param name="mode" > value="write" /> > <param name="autoflush" > value="1" /> > <filter-ref id="FilterErr" /> > <log4perl:layout name="LayoutDateTimeClass" > class="org.apache.log4j.PatternLayout"> > <param name="ConversionPattern" > value="%d %p [%c]: %m%n" /> > </log4perl:layout> > </log4perl:appender> > <log4perl:appender name="AppGeneralScreen" > class="Log::Log4perl::Appender::Screen"> > <filter-ref id="FilterInfo" /> > <log4perl:layout name="LayoutDateTimeClass" > class="org.apache.log4j.PatternLayout"> > <param name="ConversionPattern" > value="%d %p [%c]: %m%n" /> > </log4perl:layout> > </log4perl:appender> > <log4perl:appender name="AppDebugFile" > class="Log::Log4perl::Appender::File"> > <param name="filename" > value="sub { > Vitronic::BuildSteps::MiscBuildStep::getLogfileName('TYPE' => 'DEBUG'); > };" /> > <param name="mode" > value="write" /> > <param name="autoflush" > value="1" /> > <filter-ref id="FilterAll" /> > <log4perl:layout name="LayoutDateTimeClass" > class="org.apache.log4j.PatternLayout"> > <param name="ConversionPattern" > value="%d{HH:mm:ss} [%c] %p: %m%n" /> > </log4perl:layout> > </log4perl:appender> > <log4perl:appender name="AppSqlFile" > class="Log::Log4perl::Appender::File"> > <param name="filename" > value="sub { > Vitronic::BuildSteps::MiscBuildStep::getLogfileName('TYPE' => 'SQL'); };" > /> > <param name="mode" > value="write" /> > <param name="autoflush" > value="1" /> > <filter-ref id="FilterAll" /> > <log4perl:layout name="LayoutDateTimeClass" > class="org.apache.log4j.PatternLayout"> > <param name="ConversionPattern" > value="%d %p [%c]: %m%n" /> > </log4perl:layout> > </log4perl:appender> > <!-- *** FILTER > **************************************************************************** > --> > <log4perl:appender name="DebugSyncer" > class="Log::Log4perl::Appender::Synchronized"> > <param name="appender" > value="AppDebugFile" /> > </log4perl:appender> > <!-- > *************************************************************************************** > --> > <!-- *** FILTER > **************************************************************************** > --> > <!-- > *************************************************************************************** > --> > <log4perl:filter name="FilterAll" > class="Log::Log4perl::Filter::LevelRange"> > <param name="LevelMin" > value="DEBUG" /> > <param name="LevelMax" > value="FATAL" /> > <param name="AcceptOnMatch" > value="true" /> > </log4perl:filter> > <log4perl:filter name="FilterInfo" > class="Log::Log4perl::Filter::LevelRange"> > <param name="LevelMin" > value="INFO" /> > <param name="LevelMax" > value="FATAL" /> > <param name="AcceptOnMatch" > value="true" /> > </log4perl:filter> > <log4perl:filter name="FilterErr" > class="Log::Log4perl::Filter::LevelRange"> > <param name="LevelMin" > value="ERROR" /> > <param name="LevelMax" > value="FATAL" /> > <param name="AcceptOnMatch" > value="true" /> > </log4perl:filter> > <!-- > *************************************************************************************** > --> > <!-- *** CATEGORIES > ************************************************************************ --> > <!-- > *************************************************************************************** > --> > <root> > <priority value="debug" /> > <appender-ref ref="AppGeneralFile" /> > <appender-ref ref="AppGeneralScreen" /> > <appender-ref ref="AppErrorFile" /> > </root> > <!--- > *************************************************************************************** > --> > <category name="dbg" > additivity="false"> > <priority value="debug" /> > <appender-ref ref="AppDebugFile" /> > </category> > <category name="sql" > additivity="false"> > <priority value="debug" /> > <appender-ref ref="AppDebugFile" /> > </category> > <category name="BMTK"> > <priority value="info" /> > <appender-ref ref="AppGeneralFile" /> > </category> > <category name="Vitronic::BuildDatenbank::Tables" > additivity="false"> > <priority value="info" /> > <appender-ref ref="AppSqlFile" /> > </category></log4perl:configuration> > > > > > -- > GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS. > Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail > ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ log4perl-devel mailing list log4perl-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/log4perl-devel