Logback的zip压缩滚动日志功能是否需要安装Linux zip工具?
结论
- 你的配置不会导致logback无法正常滚动日志,不需要容器额外安装zip、gzip命令
- logback是直接调用Java标准库自带的压缩能力完成日志压缩,不会调用系统级的压缩工具
详细说明
为什么不需要系统gzip/zip命令?
logback的压缩逻辑全部在JVM内部实现,依赖的是JDK默认自带的java.util.zip包下的类,只要你使用的是常规未裁剪的OpenJDK/OracleJDK环境,就可以正常完成.gz格式的日志压缩,和操作系统是否安装gzip、zip命令完全无关。
只有当你使用的是特殊裁剪、移除了java.util.zip相关类的精简JRE时,才可能出现压缩失败的问题,这种场景下只要把<fileNamePattern>配置里的.gz后缀删除,使用未压缩的日志格式即可正常滚动。logback压缩的具体实现逻辑
你配置中使用的.gz格式,logback会直接调用java.util.zip.GZIPOutputStream实现流式压缩;如果配置为.zip后缀,logback则会调用java.util.zip.ZipOutputStream生成zip压缩包,全程不会调用操作系统的gzip、zip二进制程序。
内容的提问来源于stack exchange,提问作者Nicholas DiPiazza
相关产品推荐
相关产品推荐

