我们的客户应用服务器需要特定的要求。我们在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。
答案 0 :(得分:0)
我们有类似的要求,我们不得不为此更改RollingFileAppender代码。或者您可以创建自己的appender(扩展到RollingFileAppender)并按照您希望的方式更改 void rollOver()方法。
此外,如果您可以自由使用logback框架,那就去吧。在logback中配置这样的东西非常容易。