2012-11-16 10 views
6

Otrzymuję ten błąd "log4j: ERROR Nie można zmienić nazwy" w moim logu serwera tomcat. Mam wiele DailyRollingFileAppender w moim log4j XML. I każdy aplikant wskazuje na inny plik. Działa tylko jedna instancja aplikacji. Użyłem narzędzia uchwyt i uruchom polecenie (z nazwą pliku dziennika jako parametr)log4j: BŁĄD Nie można zmienić nazwy

uchwyt -f ams-app.log a wynik jest Tomcat7.exe PID: 5032 Typ: 54C Plik: E: \ Apps \ am \ logs \ ams-app.log

Z tego zakładam, że w pliku jest tylko jedna blokada. Moje środowisko Windows Server 2008, tomcat 7.0 i Java 6 oraz slf4j-log4j12 (1.5.6)

Ten problem nie wystąpił, gdy ta sama aplikacja była hostowana na serwerze AIX. Przeszukałem ten problem i wydaje mi się, że jest to specyficzne okno. Również nie chcę używać DatedFileAppenders ani żadnego rozwidlonego log4j. Czy logback rozwiązuje takie problemy. Wszelkie sugestie dotyczące rozwiązania tego problemu są mile widziane.

<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

Czy pls pisać konfigurację log4j? –

Odpowiedz

0

miałem ten sam problem i naprawić go poprzez aktualizację do wersji 1.2.15 log4j zgodnie Wydaje Dzięki

tutaj moje log4j xml this discussion

+0

Używamy log4j 1.2.15, ale wciąż mamy ten sam problem z tą wersją. –

+1

Znalazłem rozwiązanie mojego problemu i chciałem się tu podzielić. Podczas dodawania appender-ref w tagu rejestratora, zgłaszany jest błąd zmiany nazwy. Dodając appender-ref w tagu root, nigdy nie zgłasza tego błędu. –

Powiązane problemy