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' =&gt; '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' =&gt; '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' =&gt; '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' =&gt; '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
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel

Reply via email to