我正在使用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 :(得分:1)
设置值后尝试在RollingFileAppender上调用activateOptions()
,例如:
...
a.setBufferSize( 1024 ) ;
a.activateOptions() ; // Call it here
s_Logger.addAppender( a ) ;
....
答案 1 :(得分:1)
解决方案是关闭tomcat实例,删除大型日志文件并重启服务器。它现在按预期生成1mb文件。