【问题标题】:Configuring Rolling File Appender配置滚动文件追加器
【发布时间】:2010-04-01 11:33:43
【问题描述】:

我的名为 jboss-log4j.xml 的 jboss 应用程序服务器日志文件具有以下滚动文件附加器配置

<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时删除,删除后新日志生效

【问题讨论】:

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

标签: jboss log4j


【解决方案1】:

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

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

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

查看DailyRollingFileAppenderhere的使用选项。

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

因此,您可以轻松地让日志文件在每周开始时在达到指定的大小限制时滚动。然而,我有一个模糊的回忆,这两个不在一起。您要么拥有DailyRollingFileAppender 要么拥有RollingFileAppender - Log4J 不会同时提供具有 both 功能的附加程序。也不要每 5 天滚动一次日志文件——实现这一点的唯一选择是实现自己的自定义附加程序。

【讨论】:

    【解决方案2】:

    您询问如何删除超过 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 {} \;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      相关资源
      最近更新 更多