下面是我用于使用log4j生成日志文件然后根据大小滚动它的代码。文件正在生成,但文件不会根据最大文件大小进行翻转。我在一篇文章中听说我们必须使用apache-log4j-extras并使用apache-log4j-extras-1.2.17。我试图在达到50KB时翻身,但它没有滚动。有人可以让我知道会出现什么问题吗?
使用log4j-1.2.17和jar的apache-log4j-extras-1.2.17版本。
log4j.appender.Flows=org.apache.log4j.RollingFileAppender
log4j.appender.Flows.File=E:/Logs/Flows.log
log4j.appender.Flows.MaxFileSize=50KB
log4j.appender.Flows.MaxBackupIndex=2
log4j.appender.Flows.layout=org.apache.log4j.PatternLayout
log4j.appender.Flows.layout.ConversionPattern=%d %-5p - %c %x %m%n
答案 0 :(得分:2)
如果您使用的是Apache Extras™ for Apache log4j™,则可能需要使用org.apache.log4j.rolling.RollingFileAppender
:
log4j.appender.Flows=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.Flows.rollingPolicy=org.apache.log4j.rolling.FixedWindowRollingPolicy
log4j.appender.Flows.rollingPolicy.maxIndex=2
log4j.appender.Flows.triggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy
log4j.appender.Flows.triggeringPolicy.MaxFileSize=51200
log4j.appender.Flows.rollingPolicy.FileNamePattern=E:/Logs/Flows-%i.log
log4j.appender.Flows.rollingPolicy.ActiveFileName=E:/Logs/Flows.log
log4j.appender.Flows.layout=org.apache.log4j.PatternLayout
log4j.appender.Flows.layout.ConversionPattern=%d %-5p - %c %x %m%n
答案 1 :(得分:0)
问题似乎是由于类加载器的多个级别中的log4j * .jar引起的。 例如。一旦由Tomcat提供,第二次由Web应用程序直接提供。在Tomcat安装中从我们的WAR中删除log4j解决了我们的问题。
这样做,我们可以避免使用log4j额外内容。