Jboss 配置滚动文件追加器

Jboss 配置滚动文件追加器,jboss,log4j,Jboss,Log4j,我的名为jboss-log4j.xml的jboss应用服务器日志文件对滚动文件appender具有以下配置 <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender"> <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> <param name="File" value="${jboss

我的名为jboss-log4j.xml的jboss应用服务器日志文件对滚动文件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时,请删除日志,以便在删除日志后,新日志可以生效

大多数参数在我链接到前面问题的手册中进行了解释。即使在属性文件中显示参数,参数的名称和语义也是相同的

好吧,你不能轻易地让日志文件每5天滚动一次。最接近这一点的是每周滚动。为此,您应该使用DailyRollingFileAppender,正如我在前面的回答中所示,并将其日期模式设置为

<param name="DatePattern" value="'.'yyyy-ww"/>
请参阅DailRollingFileAppender的使用选项

将帖子中显示的RollingFileAppender的大小限制设置为800MB,而不是500KB,这是一项任务,我相信您可以自己解决-


因此,您可以很容易地在每周开始时或达到指定的大小限制时滚动日志文件。然而,我有一个模糊的回忆,这两个不走在一起。您可能有一个DailRollingFileAppender或一个RollingFileAppender-Log4J没有同时提供两种功能的appender。也不要每5天滚动一次日志文件-实现这一点的唯一选择是实现您自己的自定义appender。

大多数参数都在我链接到您前面问题的手册中进行了解释。即使在属性文件中显示参数,参数的名称和语义也是相同的

好吧,你不能轻易地让日志文件每5天滚动一次。最接近这一点的是每周滚动。为此,您应该使用DailyRollingFileAppender,正如我在前面的回答中所示,并将其日期模式设置为

<param name="DatePattern" value="'.'yyyy-ww"/>
请参阅DailRollingFileAppender的使用选项

将帖子中显示的RollingFileAppender的大小限制设置为800MB,而不是500KB,这是一项任务,我相信您可以自己解决-


因此,您可以很容易地在每周开始时或达到指定的大小限制时滚动日志文件。然而,我有一个模糊的回忆,这两个不走在一起。您可能有一个DailRollingFileAppender或一个RollingFileAppender-Log4J没有同时提供两种功能的appender。也不要每5天滚动一次日志文件-实现这一点的唯一选择是实现您自己的自定义appender。

您询问如何删除超过5天的日志。通常,我们将设置一个cron作业,使用find删除旧的日志文件和没有那么旧的zip文件。例如:

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 {} \;

您询问如何删除超过5天的日志。通常,我们将设置一个cron作业,使用find删除旧的日志文件和没有那么旧的zip文件。例如:

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 {} \;

您现在已经连续问了3个几乎相同的问题。请不要这样做。是的,我这样做是因为我没有得到正确的答案,在浏览了网页之后,我找不到同样的教程。你能给我指出一个向我解释东西的教程吗?如果你没有得到正确的答案,也许你没有问正确的问题?。。。返回并更新/完善你的问题比发布一个类似的新问题并责怪那些努力尝试帮助你的人要好得多。你现在已经连续问了3个几乎相同的问题。请不要这样做。是的,我这样做是因为我没有得到正确的答案,在浏览了网页之后,我找不到同样的教程。你能给我指出一个向我解释东西的教程吗?如果你没有得到正确的答案,也许你没有问正确的问题?。。。返回并更新/完善你的问题要比发布一个类似的新问题并责怪那些努力尝试帮助你的人要好得多。