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!? Yahoo! SiteBuilder - Free, easy-to-use web site design software