2012-11-16 14 views
6

Ich erhalte den Fehler "log4j: FEHLER Konnte nicht umbenennen" in meinem Tomcat Server Log. Ich habe mehrere DailyRollingFileAppender in meinem log4j XML. Und jeder Appender zeigt auf eine andere Datei. Nur einmal wird die Instanz der Anwendung ausgeführt. benutzte ich Handle-Dienstprogramm und den Befehl ausführen (mit Protokolldateinamen als Parameter)log4j: FEHLER Fehler beim Umbenennen

Griff -f ams-app.log und das Ergebnis ist Tomcat7.exe pid: 5032 Typ: Datei-54C: E: \ apps \ ams \ logs \ ams-app.log

Davon nehme ich an, dass es nur eine Sperre für die Datei gibt. Meine Umgebung Windows Server 2008, Tomcat 7.0 und Java 6 und slf4j-log4j12 (1.5.6)

Dieses Problem trat nicht auf, wenn die gleiche Anwendung auf dem AIX-Server gehostet wird. Ich habe dieses Problem gegooglet und es scheint Windows specific zu sein. Auch ich bin nicht scharf darauf, DatedFileAppenders oder irgendwelche gegabelten log4j zu verwenden. Löst Logbuch solche Probleme. Irgendwelche Vorschläge, wie man dieses Problem löst, wird geschätzt. Dank

hier meine 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> 

+1

Können Sie die log4j Konfiguration schreiben pls? –

Antwort

0

Ich hatte das gleiche Problem und es behoben von log4j auf Version 1.2.15 als pro this discussion

+0

Wir verwenden log4j 1.2.15, aber wir haben dasselbe Problem immer noch mit dieser Version. –

+1

Ich habe die Lösung für mein Problem gefunden und wollte sie hier teilen. Beim Hinzufügen von appender-ref im Logger-Tag wird ein Umbenennungsfehler ausgegeben. Beim Hinzufügen von appender-ref im root-Tag wird dieser Fehler nie ausgegeben. –

Verwandte Themen