2010-04-01 81 views
1

我的JBoss应用服务器的日志文件命名的jboss-log4j.xml文件具有滚动文件附加目的地配置文件滚动的Appender

<appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender"> 
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
<param name="File" value="${jboss.server.log.dir}/server.log"/> 
<param name="Append" value="false"/> 
<param name="MaxFileSize" value="500KB"/> 
<param name="MaxBackupIndex" value="1"/> 

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

这是什么究竟下面的配置? 我应该如何设置它来做两件事情之一? 1.删除超过5天的日志或 2.删除超过800MB的日志,以便删除日志后,新日志可以生效

+2

您现在连续询问了3个几乎相同的问题。请不要这样做。 – skaffman 2010-04-01 11:36:40

+0

是的,我做到了,因为我没有得到正确的答案,并在网上搜索后,我无法找到相同的教程 你能指出我的教程,解释给我的东西 – 2010-04-01 11:42:41

+2

如果你没有得到正确的回答,也许你没有问正确的问题?...回去更新/提炼你的问题要比发布类似的新问题好得多(并指责那些努力尝试和帮助你的人)。 – 2010-04-01 12:10:15

回答

3

大部分参数在与早期版本相关的手册中进行了说明问题here。即使它在属性文件中显示参数,参数的名称和语义也是相同的。

AFAIK您无法轻松地创建日志文件,每5天滚动一次。最接近这个是每周翻转。为此,您应该使用DailyRollingFileAppender正如我在前面的回答显示,其日期模式设置为

<param name="DatePattern" value="'.'yyyy-ww"/> 

DailyRollingFileAppenderhere使用选项。

设置在你的岗位上800MB,而不是500KB所示RollingFileAppender的大小限制,我相信你可以自己解决;-)

这样你就可以轻松拥有一个日志文件滚动超过要么任务在每周开始时达到指定的大小限制。但是,我有一个模糊的回忆,认为两者不会在一起。您可能有DailyRollingFileAppenderRollingFileAppender - Log4J不提供同时具有功能的appender和功能。无论是每5天翻阅一次日志文件 - 您唯一的选择是实现您自己的自定义appender。

1

你问如何删除超过5天的日志。通常,我们将设置一个使用find来删除不太旧的旧日志文件和zip文件的cron作业。例如:

find /apps/atg/$JBOSS_VERSION/jboss-as/server/${inst_name}/log \ 
    -name "*.log.2*" -type f -mtime +14 -exec rm {} \; 
find /apps/atg/$JBOSS_VERSION/jboss-as/server/${inst_name}/log \ 
    -name "*.log.2*" ! -name "*.gz" -type f -mtime +3 -exec gzip {} \;