2014-08-27 79 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

相关问题