我正在为我的应用程序使用 Spring Boot,并且我正在使用默认的 Spring Boot 日志记录。
在我的 application.properties
中,我为 logging.file
添加了文件路径,
logging.file= ${logger_path}
而我的 pom.xml
包含
<logger_path>/tmp/app.log</logger_path>
当我启动应用程序时,它会将日志消息打印到 /tmp/app.log
的文件中,但问题是它还会在控制台上打印日志消息。当我指定 log 文件
时,我真的不明白为什么它会在控制台上打印(虽然它正在将它们打印到指定的文件)。
是否有任何配置可以防止 Spring Boot 将日志消息打印到控制台?
最佳答案
Spring boot 自带 logback
logger,默认配置为打印到控制台。
您需要覆盖 logback
配置(在类路径中提供您自己的 logback.xml
)。
这是描述here - - 第 66.1 节
如何禁用 logback 日志读取 here -
如您所见,您必须提供值 OFF
...类似于:
<configuration>
<include resource="base.xml" />
.
.
<property name="root.level.console" value="OFF" />
</configuration>
注意:请记住,这里的一般想法是来自 spring-boot 的 logback 配置是最小的。目的是您提供自己的 logback 配置并完全覆盖现有配置 - 例如提供您自己的 logback 配置,仅配置 log file-appender - 这应该是您的一般方法。
关于java - 防止 Spring Boot 将日志打印到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31935151/