达到MaxBackupIndex大小时如何压缩旧日志文件?

时间:2015-08-10 05:33:06

标签: java logging jboss log4j

我们的客户应用服务器需要特定的要求。我们在JBoss服务器上并使用log4j进行日志汇总。
客户站点的日志文件将在1或2天内汇总。我们只维护20个日志文件作为'MaxBackupIndex'。一旦达到此限制,旧日志文件就会被删除。
使用jboss-log4j.xml文件中的以下配置

<appender name="FILEAPPENDER" class="org.jboss.logging.appender.RollingFileAppender"> <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> <param name="File" value="${jboss.server.home.dir}/../../../../logs/JBServer.log"/> <param name="Append" value="true"/> <param name="MaxFileSize" value="10MB"/> <param name="MaxBackupIndex" value="20"/>

 <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
 </layout>

<layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> 我们希望在达到MaxBackupIndex时将旧日志文件压缩为.gz文件,并尝试创建新的日志文件。
我们怎么做?帮助将不胜感激。


谢谢,
Rama Krishna。

1 个答案:

答案 0 :(得分:0)

我们有类似的要求,我们不得不为此更改RollingFileAppender代码。或者您可以创建自己的appender(扩展到RollingFileAppender)并按照您希望的方式更改 void rollOver()方法。

此外,如果您可以自由使用logback框架,那就去吧。在logback中配置这样的东西非常容易。

相关问题