2013-07-18 187 views
0

日誌不正確寫入SLF 4J日誌不會寫入日誌

SLF版本SLF4J-API-1.7.5.jar,SLF4J-log4j12-1.7.5.jar,log4j的,1.2.16.jar

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<!-- log4j generic catchall for adapters. --> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
<!-- Example DailyRollingFile appender, this is the preferred logging appender --> 

    <appender name="CommonAdapterAppender" class="org.apache.log4j.DailyRollingFileAppender"> 
     <param name="file" value="/opt/adapter.log" /> 
     <param name="encoding" value="UTF-8" /> 
     <param name="append" value="true" /> 
     <!-- Rollover at the top of every hour --> 
     <param name="DatePattern" value="'.'yyyy-MM-dd-HH" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" 
      value="%d{yyyy-MM-dd HH:mm:ss.SSS-zzz} %5p [%t] %c{1} - %m%n" /> 
     </layout> 
    </appender> 

    <!-- Categories --> 
    <category name="com.other" additivity="false"> 
     <priority value="warn" /> 
    </category> 

    <logger name="com.adapter" additivity="false"> 
     <level value="debug" /> 
     <appender-ref ref="CommonAdapterAppender"/> 
    </logger> 
    <logger name="com.adaptations" additivity="false"> 
     <level value="debug" /> 
     <appender-ref ref="CommonAdapterAppender"/> 
    </logger> 

    <root> 
     <priority value="error" /> 
     <appender-ref ref="CommonAdapterAppender" /> 
     <!-- <appender-ref ref="SyslogAppender"/> --> 
    </root> 
</log4j:configuration> 

以上log4j文件被多個適配器使用。第一次寫入adapter.log,之後只寫入一些組件日誌。我也注意到,第二次後,它是寫幾個日誌到adapter.log ..

我不明白這裏出了什麼問題。有人可以幫我嗎?

回答

0

我相信你應該使用一個單一的共享日誌4J配置和實例爲所有適配器,如果你想使用相同的日誌文件。

就像這樣,Log 4j實例可能會爭奪文件的控制權。

+0

如何解決此問題?您能否請我提供一些步驟 –

+0

這些「適配器」部署在應用程序服務器或servlet容器中? –

+0

這些是獨立適配器與個人JVM的 –