如何在 WildFly 中配置压缩日志?

Posted

技术标签:

【中文标题】如何在 WildFly 中配置压缩日志?【英文标题】:How to configure compressed logs in WildFly? 【发布时间】:2017-11-21 07:02:42 【问题描述】:

是否可以在 WildFly 10 中配置压缩日志? 无法在此处找到正确的配置: https://docs.jboss.org/author/display/WFLY10/Handlers

【问题讨论】:

【参考方案1】:

根据 Wildfly 19,如果您在后缀中添加 .zip.gz,它会在旋转时自动压缩它们。

【讨论】:

【参考方案2】:

日志处理程序不应该压缩日志文件。我假设您想使用日志轮换,然后压缩较旧的日志条目。首先,定义一个旋转的文件处理程序 - 您可以决定根据时间旋转,例如每个午夜或基于大小,例如每 5MB。基于时间的每日滚动文件处理程序示例:

<periodic-rotating-file-handler name="FILE" autoflush="true">
   <formatter>
       <pattern-formatter pattern="%dyyyy-MM-dd HH:mm:ss,SSS %-5p [%c] (%t) %s%E%n"/>
   </formatter>
   <file relative-to="jboss.server.log.dir" path="server.log"/>
   <suffix value=".yyyy-MM-dd"/>
   <append value="true"/>
</periodic-rotating-file-handler>

现在是第二部分,压缩。如果您使用的是 linux,那么最简单的方法是设置一个 CRON job,它会找到您想要压缩并压缩它们的所有条目。例如,您可以设置您的 cron 作业来运行此脚本:

ls server.log.*|grep -v '\.zip$' |xargs -i zip -m .zip  

【讨论】:

是的,我已经使用了周期性旋转文件处理程序。 WildFly 不支持非常糟糕的压缩。我不喜欢为此使用 Cron 好吧,wildfly 是一个应用服务器。管理日志文件,它们的处理等等真的不是它的目标。无论如何,生产中的任何实际应用程序都需要配置良好的日志处理管道。例如压缩、备份、使用logstash处理、归档、删除……如果你不喜欢cron,你可以使用其他工具自动化你的日志处理,或者用python或java或者你喜欢的任何东西编写你自己的简单管道:)跨度> 在某个时候,希望 WildFly 11,将通过在旋转文件的后缀中添加 .zip.gz 扩展名来支持它。详情请见issues.jboss.org/browse/LOGMGR-30。

以上是关于如何在 WildFly 中配置压缩日志?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Wildfly 8.2.0中的server.log文件中禁用日志记录应用程序日志

Keycloak/Wildfly 如何将所有控制台日志配置为 JSON 格式

在 Wildfly 8.2 中配置日志的正确方法

如何设置 Wildfly 服务器日志的最大大小

如何使用 JBoss Tools 插件将 EAR 应用程序从 Eclipse 压缩到 Wildfly?

Wildfly - 配置 ActiveMQ 以使用 Postgres 日志