spring-boot - 如何强制 spring 不压缩日志文件,而是在日志文件末尾附加日期

标签 spring-boot logging log4j2

目前我正在使用 spring boot 日志,我正在通过属性文件配置它
下面是示例日志记录属性

spring.main.banner-mode=off
logging.level.root= INFO,ERROR,DEBUG
logging.level.org.springframework.web= ERROR
logging.level.com.concretepage= DEBUG 
logging.pattern.console=
logging.file = D://logTest.log
logging.file.max-size=100MB
spring.output.ansi.enabled=ALWAYS

问题是日志文件备份格式是.gz格式
喜欢 logTest.log.2019-06-14.0.gz

如何排除默认压缩?

我不想在 xml 文件中硬连线配置并将其放在资源文件夹中。
我只能放置滚动appender配置xml文件,但我想在属性文件中创建日志文件路径,因此我可以针对不同的环境动态设置它。

有没有办法实现这种配置?

最佳答案

作为@simon-martinelli 正确答案的替代方法,如果您不想使用自定义 logback-spring.xml文件,Spring 配置参数 logging.pattern.rolling-file-name可以在您的 application.properties 中设置或 application.yml文件。

例如,要禁用使用的压缩,请删除 .gz来自默认文件名模式的后缀( ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz 根据 https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-custom-log-configuration )。

这将需要将以下元素添加到 application.yml文件:

logging:
  pattern:
    rolling-file-name: "${LOG_FILE}.%d{yyyy-MM-dd}.%i"

或者,如果您正在使用 application.properties ,它应该是(免责声明:我没有测试过这个,因为我只使用 YAML 文件):
logging.pattern.rolling-file-name = ${LOG_FILE}.%d{yyyy-MM-dd}.%i

关于spring-boot - 如何强制 spring 不压缩日志文件,而是在日志文件末尾附加日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56596496/

相关文章:

java - Raven 连接 java.lang.IllegalStateException : Shutdown in progress

logging - 如何将log4j属性更改为log4j2属性?

Spring从另一个变量设置@value

java - 如何创建一个能够支持@JsonFilter注解的POJO的全局过滤器

java - 将 Java.logging 扩展到另一个日志级别?

logging - 自定义 NLog LogLevels 还是每个类有多个记录器?

java - log4j2:模式参数的自定义格式

Spring Boot,@Configurable LoadTimeWeaving,Tomcat 8 - IllegalStateException

spring-boot - Spring Boot Security - 如何禁用 Swagger UI 的安全性

python - 在日志文件中添加条目