Hi,
I've encounterd a view problems with "uninitialized root-logger" log-log4perl
(currently using Version1.12):
System:
ActiveStatePerl 5.8.8.817
WinXP SP2
Log::Log4Perl 1.12
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 ..
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
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
log4perl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/log4perl-devel