Kar*_*hik 13 java spring spring-boot
我正在为我的应用程序使用spring boot,我正在使用默认的spring boot logging.
在我application.properties,我添加了文件路径logging.file,
logging.file= ${logger_path}
Run Code Online (Sandbox Code Playgroud)
和我的pom.xml包含
<logger_path>/tmp/app.log</logger_path>
Run Code Online (Sandbox Code Playgroud)
当我启动应用程序时,它会将日志消息打印到文件中/tmp/app.log,但问题是它还会在控制台上打印日志消息.我真的不明白为什么它在控制台上打印(虽然它是将它们打印到指定的文件)当我指定了一个log file.
是否有任何配置可以防止spring boot将日志消息打印到控制台?
hov*_*yan 14
Spring引导附带内置logback记录器,默认情况下配置为打印到控制台.
您需要覆盖logback配置(logback.xml在类路径上提供您自己的配置).这在这里描述- - 第66.1节
如何禁用此处的 logback日志记录-
正如你所看到的,你必须提供价值OFF...类似于:
<configuration>
<include resource="base.xml" />
.
.
<property name="root.level.console" value="OFF" />
</configuration>
Run Code Online (Sandbox Code Playgroud)
注意:请记住,这里的一般想法是来自spring-boot的logback配置是最小的.目的是您提供自己的logback配置并完全覆盖现有配置 - 例如,提供您自己的logback配置,只配置了log file-appender - 这应该是您的一般方法.
小智 6
包括但file-appender.xml不console-appender包含以下配置logback-spring.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
你还需要添加logging.file到你的application.properties
这符合Spring启动文档中提到的内容 - http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html
| 归档时间: |
|
| 查看次数: |
20921 次 |
| 最近记录: |