2014-08-27 78 views
0

我正在使用Log4j作爲日誌記錄解決方案。遇到的問題是RollingFileAppender在所有環境中的行爲不一致。Log4J RollingFileAppender不執行最大日誌大小

配置代碼:

 try { 
      RollingFileAppender a = new RollingFileAppender(layout, s_file, true) ; 
      a.setName("RollingFileAppender") ; 
      a.setMaxFileSize("1MB") ; 
      a.setMaxBackupIndex(32) ; 
      a.setImmediateFlush(true) ; 
      a.setBufferedIO(false) ; 
      a.setBufferSize(1024) ; 
      s_Logger.addAppender(a) ; 
     } catch(IOException ioe) { 
      ioe.printStackTrace() ; 
     } 

的問題是,在開發環境中,所有的測試環境中,如預期的文件大小限制到〜1024KB。在生產環境中,文件已經在500mb以北。

這部署在所有實例的Tomcat 7.0.52環境中。 有沒有會影響Log4j如何處理文件的Tomcat配置?

文件夾權限在所有情況下均匹配。

+0

你使用'log4j.properties'文件嗎? – 2014-08-27 16:01:00

+0

不,沒有使用log4j.properties。 – 2014-08-27 16:04:31

回答

1

解決的辦法是關閉Tomcat實例,刪除大的日誌文件,並重新啓動服務器。正如預期的那樣,它正在生成1MB文件。

1

嘗試設置的值後呼籲RollingFileAppender進行activateOptions(),例如:

... 
a.setBufferSize(1024) ; 
a.activateOptions() ; // Call it here 
s_Logger.addAppender(a) ; 
.... 
+0

謝謝,我們已經解決了這個問題而沒有找到真正的原因,但如果問題重複,我會考慮實施此解決方案。 – 2014-08-27 16:26:15

相關問題