Hi,
I am trying to use the FallBackErrorHandler but cannot seem to get it 
to work. Here is my log4j-config.xml file:
 
    <appender name="systemmonitor" 
class="org.apache.log4j.FileAppender">
       <errorHandler 
class="org.apache.log4j.varia.FallbackErrorHandler">
         <root-ref/>
            <appender-ref ref="fallback" />
       </errorHandler>
        <param name="File" value="c:/temp/logs/system_monitor.log"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" 
                   value="%r [%t] %-5p %c{2} %x - %m%n"/>
        </layout>
    </appender>
    <appender name="fallback" class="org.apache.log4j.FileAppender">
          <param name="File" value="c:/temp/logs/fallback.log" />
           <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" 
                   value="%r [%t] %-5p %c{2} %x - %m%n"/>
           </layout>
    </appender>
    <category name="SM" additivity="false">
        <priority value="DEBUG"/>
        <appender-ref ref="systemmonitor"/>
    </category>    
    <root>
        <priority value="DEBUG"/>
    </root>
I changed the access level of the primary appender's file so that it 
cannot be written to. When I start up my project in eclipse, I see the 
following go by:
 
log4j: Setting property [file] to [c:/temp/logs/system_monitor.log].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%r [%t] %-5p %c{2} %x - 
%m%n].
log4j: setFile called: c:/temp/logs/system_monitor.log, true
log4j: FB: The following error reported: setFile(null,true) call 
failed.
java.io.FileNotFoundException: c:\temp\logs\system_monitor.log (Access 
is denied)
 at java.io.FileOutputStream.openAppend(Native Method)
 at java.io.FileOutputStream.<init>(FileOutputStream.java:177)
 at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
 at org.apache.log4j.FileAppender.setFile(FileAppender.java:272)
 at 
org.apache.log4j.FileAppender.activateOptions(FileAppender.java:151)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:324)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
log4j: FB: INITIATING FALLBACK PROCEDURE.
log4j: FB: Searching for [systemmonitor] in logger [root].
log4j: FB: Replacing [systemmonitor] by [fallback] in logger [root].
log4j: FB: Adding appender [fallback] to logger root
log4j: Adding appender named [systemmonitor] to category [SM].
 
Which looks just fine. But nothing gets logged to the fallback log 
file. Can someone point out what I am missing? Any help will be greatly 
appreciated.
 
Thanks!
Sabitha

 



---------------------------------
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search

Reply via email to