Spring boot - 无法关闭日志记录

时间:2017-05-09 14:39:57

标签: java logging spring-boot

我正在尝试使用application.properties文件关闭STS中的控制台输出以用于Spring启动应用程序。

设置值logging.level.root似乎确实有一些效果,但我永远不能完全关闭它,也不能关闭自动配置报告输出。

logging.level.root=OFF
spring.main.banner-mode=OFF
application.version=@project.version@

标题确实由属性spring.main.banner-mode关闭。

出于上述属性的某些原因,我仍然在启动时从spring获得DEBUG输出:

 2017-05-09 15:33:16.744 DEBUG 11772 --- [           main] .b.l.ClasspathLoggingApplicationListener : Application started with classpath:
 2017-05-09 15:33:16.798 DEBUG 11772 --- [           main] o.s.boot.SpringApplication               : Loading source class 

还有更多行告诉我正在加载哪些属性文件,但我不想用它们填写这篇文章。

接下来我得到自动配置报告输出。

我想知道我是否有配置问题,如果这会导致spring在启动时继续输出?

4 个答案:

答案 0 :(得分:14)

好的回答我自己的问题,经过反复试验后我终于得到了以下内容,它通过application.properties文件禁止启动时的所有输出:

 logging.level.root=OFF
 logging.level.org.springframework.boot=OFF
 spring.main.banner-mode=OFF

我希望这可以帮助其他人!

干杯

答案 1 :(得分:1)

将以下内容添加到您选择的包中。

logging.level.<package>=OFF

logging.level.root=OFF对我不起作用

答案 2 :(得分:0)

您可以在bootstrap.yml中定义日志记录属性 我使用这种方式成功禁用了日志

答案 3 :(得分:0)

你的方法的问题在于它只配置了根级记录器;如果设置了匹配的记录器属性(例如 logging.level.org.springframework.boot=DEBUG),将重新打开单个日志。我猜这就是为什么您的 self answer 需要明确禁用 org.springframework.boot 记录器以及根记录器。

完全禁用日志记录的一种方法是创建一个特殊的 logback.xml 文件来完全禁用日志记录。

<configuration>
</configuration>

如果您总是想要关闭日志记录,您只需创建 logback.xml 文件并将其放入根包(例如 src/main/resources/logback.xml)。如果您只想在某些情况下禁用它(例如,如果在“nologging”Spring profile 中),您可以创建一个具有不同名称 (logback-off.xml) 的自定义文件,并将其指定为您希望禁用的配置文件/案例。

logging.config=classpath:logback-off.xml
相关问题