如何在 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 格式