Log4j: ERROR Failed to rename

I get this error "log4j: ERROR Failed to rename" in my tomcat server log. I have several DailyRollingFileAppender in my xml log4j file. And each appender points to a different file. Only one instance of the application is running. I used the Handle utility and ran the command (with the log file name as parameter)

handle -f ams-app.log and result Tomcat7.exe pid: 5032 Type: File 54C: E: \ apps \ ams \ logs \ ams-app.log

From this, I assume that there is only one lock in the file. My environment is Windows Server 2008, tomcat 7.0 and Java 6 and slf4j-log4j12 (1.5.6)

This problem did not occur when the same application was hosted on an AIX server. I googled this problem and it seems a specfic window. Also I don't want to use DatedFileAppenders or any forked log4j. Does it rarely solve problems. Any suggestions for resolving this issue are welcome. Thanks

here is my log4j xml

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="CONSOLE_APPENDER" class="org.apache.log4j.ConsoleAppender"> <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/> <param name="Target" value="System.out"/> <param name="Threshold" value="DEBUG"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%n %d{yyyy/MM/dd HH:mm:ss} %-5p %x %M(%F:%L) - %m %n"/> </layout> </appender> <appender name="APP_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"> <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/> <param name="datePattern" value="yyyy-MM-dd"/> <param name="file" value="E:/apps/ams/logs/ams-app.log"/> <param name="append" value="true"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%n %d{yyyy/MM/dd HH:mm:ss} %-5p %x %M(%F:%L) - %m %n"/> </layout> </appender> <appender name="SQL_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"> <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/> <param name="datePattern" value="yyyy-MM-dd"/> <param name="file" value="E:/apps/ams/logs/ams-sql.log"/> <param name="append" value="true"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%n %d{yyyy/MM/dd HH:mm:ss} %-5p %x %M(%F:%L) - %m %n"/> </layout> </appender> <appender name="Quartz_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"> <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/> <param name="datePattern" value="yyyy-MM-dd"/> <param name="file" value="E:/apps/ams/logs/ams-Quartz.log"/> <param name="append" value="true"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%n %d{yyyy/MM/dd HH:mm:ss} %-5p %x %M(%F:%L) - %m %n"/> </layout> </appender> <logger name="org.springframework"><level value="WARN"/></logger> <logger name="flex.messaging.log.ServletLogTarget"><level value="WARN" /></logger> <logger name="net.sf.jasperreports"><level value="WARN" /></logger> <logger name="net.sf.jasperreports.engine.fill"><level value="WARN" /></logger> <logger name="org.apache.commons.beanutils"><level value="WARN" /></logger> <logger name="jdbc.sqltiming" additivity="false"><level value="DEBUG"/><appender-ref ref="SQL_APPENDER"/></logger> <logger name="org.quartz" additivity="false"><level value="WARN" /><appender-ref ref="Quartz_APPENDER"/></logger> <logger name="org.quartz.SchedulerException"><level value="ERROR" /><appender-ref ref="MAIL_APPENDER"/></logger> <logger name="org.hmil.ams.BatchDAO" additivity="false"><level value="INFO"/><appender-ref ref="Quartz_APPENDER"/></logger> <root> <priority value="debug"></priority> <appender-ref ref="APP_APPENDER" /> <appender-ref ref="CONSOLE_APPENDER"/> </root> 

+6
source share
2 answers

I had the same problem and fixed it by updating log4j to version 1.2.15 by this discussion

0
source

All Articles