You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wildfly 10周期性日志轮转:如何配置生成压缩日志文件?

解决WildFly 10日志轮转后生成压缩文件的问题

你当前使用的periodic-rotating-file-handler在WildFly 10中不支持直接压缩轮转后的日志文件,要实现压缩需求,有两种常用方案:

方案一:使用支持压缩的size-and-periodic-rotating-file-handler

这个handler同时支持按时间和文件大小轮转,并且自带压缩功能,既能满足你每日轮转+压缩的需求,还能避免单个日志文件过大(比如你提到的1.5-2GB)。

替换原有的handler配置为以下内容:

<size-and-periodic-rotating-file-handler name="FILE" autoflush="true">
    <formatter>
        <named-formatter name="PATTERN"/>
    </formatter>
    <file relative-to="jboss.server.log.dir" path="server.log"/>
    <!-- 按日轮转,保持原后缀格式 -->
    <suffix value=".yyyy-MM-dd"/>
    <!-- 开启压缩,支持gzip或zip格式 -->
    <compression value="gzip"/>
    <!-- 可选:设置单文件大小上限,防止单日日志体积超标 -->
    <rotate-size value="1G"/>
    <!-- 可选:保留的日志文件数量,超过自动清理旧文件 -->
    <max-backup-index value="30"/>
    <append value="true"/>
</size-and-periodic-rotating-file-handler>

关键配置说明:

  • <compression value="gzip"/>:指定压缩格式,WildFly 10支持gzip和zip两种,按需选择即可。
  • <rotate-size value="1G"/>:如果单日日志超过1GB,会自动按大小分割并压缩,避免单文件体积过大。
  • <max-backup-index value="30"/>:保留最近30天的压缩日志,自动清理更早的文件,可根据存储情况调整数值。

方案二:保留原有handler,配合定时任务压缩日志

如果你不想修改handler类型,可以保留原有的periodic-rotating-file-handler,然后添加系统定时任务(比如Linux的cron)来每日压缩前一天的日志文件。

示例cron任务(每天凌晨2点压缩前一天的日志):

0 2 * * * /bin/gzip /path/to/wildfly/standalone/log/server.log.$(date -d "yesterday" +\%Y-\%m-\%d)

注意替换/path/to/wildfly为你的WildFly实际安装路径,同时确保执行cron的用户拥有日志文件的读写权限。

注意事项:

  • 方案一更推荐,因为是WildFly原生支持的功能,无需额外维护定时任务,日志轮转和压缩的逻辑更精准可控。
  • 修改配置后,需要重启WildFly或者通过CLI命令重新加载logging子系统配置才能生效。

内容的提问来源于stack exchange,提问作者Ravi Mitra Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:56:22