Quarkus是否存在支持日志文件自动压缩的日志处理器?
Quarkus日志自动压缩功能配置说明
Quarkus完全支持旧日志文件自动压缩功能,无需依赖额外组件,仅需通过配置文件即可快速启用,和Log4j2滚动文件追加器的自动压缩效果一致。
配置步骤
第一步:启用基础文件日志与滚动功能
在项目的application.properties配置文件中添加如下基础配置:# 开启文件日志输出 quarkus.log.file.enable=true # 指定日志文件的输出路径 quarkus.log.file.path=./logs/service.log # 开启日志滚动功能 quarkus.log.file.rotation.enable=true第二步:配置滚动触发规则(可按需组合使用)
支持按文件大小或者时间周期触发滚动,两种规则可以同时生效:# 按大小滚动:单个日志文件达到指定大小后触发滚动 quarkus.log.file.rotation.max-file-size=50MB # 按时间滚动:按指定周期触发滚动,支持天、小时、周等周期 # 示例为按天滚动,后缀格式和Java DateTimeFormatter规则一致 quarkus.log.file.rotation.file-suffix=.yyyy-MM-dd第三步:启用自动压缩
只需要在滚动文件的后缀配置中加入压缩格式扩展名,Quarkus就会自动对滚动后的旧日志执行压缩,目前支持gz、zip两种压缩格式:# 示例1:按天滚动,滚动后的日志自动用gz格式压缩 quarkus.log.file.rotation.file-suffix=.yyyy-MM-dd.gz # 示例2:同时按大小+时间滚动,滚动后的日志自动用gz格式压缩,%i为滚动文件序号 quarkus.log.file.rotation.file-suffix=.yyyy-MM-dd.%i.gz
可选补充配置
你还可以配置旧日志保留规则,避免日志文件占用过多磁盘空间:
# 最多保留30份旧日志文件,超过阈值后自动删除最旧的日志 quarkus.log.file.rotation.max-backup-index=30
如果你的项目已经切换使用Log4j2作为日志实现,除了上述配置方式外,也可以直接使用Log4j2原生的滚动追加器配置,和普通Java项目的Log4j2配置规则完全兼容,自动压缩功能同样生效。
内容的提问来源于stack exchange,提问作者Johannes Hahn
相关产品推荐
相关产品推荐

