Spring boot slf4j/log4j 禁用每日 RollingFilePolicy

我的 Spring boot 应用程序每天都会创建一个新的存档(名称类似于logging.log.2019-08-30.0.gz)并开始登录新文件。无论过去了多少天,禁用此功能并让记录器登录到旧文件的方法是什么?


我大约 1.5 年前创建了一个 Spring boot 应用程序,它的记录器没有这种行为,但我最近创建的记录器有这种行为。可能跟新版本有关系?


我使用几乎完全相同的配置,但仍然......每天都会发生新的日志。我尝试了很多在网上找到的东西,但所有帖子都讨论如何添加它,而不是如何删除它。


以下是与登录相关的所有设置application.properties(我不使用任何类型的额外配置):


logging.level.root=INFO

logging.level.org=WARN

logging.level.com=WARN

logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %c{1} - %msg%n

logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %c - %msg%n

logging.file=logging.log

logging.file.max-size=1GB

依赖项的完整列表pom.xml(所有最新版本):


spring-boot-starter-data-jpa

thymeleaf-spring3

spring-boot-starter-security

spring-boot-starter-web

spring-boot-starter-mail

mysql-connector-java

spring-boot-configuration-processor

我创建和使用记录器的方式:


private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(MyController.class);

...

log.info("My controller did something!");


慕仙森
浏览 115回答 1
1回答

江户川乱折腾

经过几个小时的搜索如何删除RollingFilePolicy而不使用后logback.xml我放弃了。因此,为了实现它(并保留我当前的日志附加程序),我logback.xml在文件中添加了一个文件src/main/resources,如下所示:<?xml version="1.0" encoding="UTF-8"?><configuration>&nbsp; &nbsp; <include&nbsp; &nbsp; &nbsp; &nbsp; resource="org/springframework/boot/logging/logback/defaults.xml" />&nbsp; &nbsp; <property name="LOG_FILE"&nbsp; &nbsp; &nbsp; &nbsp; value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}" />&nbsp; &nbsp; <appender name="FILE"&nbsp; &nbsp; &nbsp; &nbsp; class="ch.qos.logback.core.FileAppender">&nbsp; &nbsp; &nbsp; &nbsp; <encoder>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <pattern>${FILE_LOG_PATTERN}</pattern>&nbsp; &nbsp; &nbsp; &nbsp; </encoder>&nbsp; &nbsp; &nbsp; &nbsp; <file>${LOG_FILE}</file>&nbsp; &nbsp; </appender>&nbsp; &nbsp; <appender name="CONSOLE"&nbsp; &nbsp; &nbsp; &nbsp; class="ch.qos.logback.core.ConsoleAppender">&nbsp; &nbsp; &nbsp; &nbsp; <encoder>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <pattern>${CONSOLE_LOG_PATTERN}</pattern>&nbsp; &nbsp; &nbsp; &nbsp; </encoder>&nbsp; &nbsp; </appender>&nbsp; &nbsp; <root level="INFO">&nbsp; &nbsp; &nbsp; &nbsp; <appender-ref ref="CONSOLE" />&nbsp; &nbsp; &nbsp; &nbsp; <appender-ref ref="FILE" />&nbsp; &nbsp; </root></configuration>我根据org/springframework/boot/logging/logback/包内的 spring 日志记录默认值创建了它,忽略FileAppender.xml文件。请注意,正如 Spring 的github 存储库中所示,默认日志记录配置正在更改,并且这些 XML 文件不存在。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java