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
[email protected]
https://lists.sourceforge.net/lists/listinfo/log4perl-devel