Java Spring启动-无法关闭日志记录

Java Spring启动-无法关闭日志记录,java,logging,spring-boot,Java,Logging,Spring Boot,我试图使用application.properties文件关闭spring引导应用程序的STS中的控制台输出 设置logging.level.root的值似乎有一些效果,但我无法完全关闭它,也无法关闭自动配置报告输出 logging.level.root=OFF spring.main.banner-mode=OFF application.version=@project.version@ 标题确实会被属性spring.main.banner-mode关闭 出于某些原因,由于上述属性,我在启

我试图使用application.properties文件关闭spring引导应用程序的STS中的控制台输出

设置logging.level.root的值似乎有一些效果,但我无法完全关闭它,也无法关闭自动配置报告输出

logging.level.root=OFF
spring.main.banner-mode=OFF
application.version=@project.version@
标题确实会被属性spring.main.banner-mode关闭

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

 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 
有更多的行告诉我哪些属性文件正在加载,但我不想用它们来填充这篇文章

接下来,我将获得自动配置报告输出

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

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

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

logging.level.<package>=OFF
logging.level.=关闭

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

回答我自己的问题:经过反复试验,我最终得出以下结论,即通过
应用程序.properties
文件禁止启动时的所有输出:

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

您的方法的问题在于,它只配置根级别记录器;如果设置了匹配的记录器属性(例如
logging.level.org.springframework.boot=DEBUG
),则会重新打开各个日志。我猜这就是为什么需要显式禁用
org.springframework.boot
记录器以及根记录器的原因

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


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

logging.config=classpath:logback-off.xml

logging.level.org.springframework.*=OFF似乎也没有任何效果。我认为它没有任何效果。*仅logging.level.org.springframework=OFF我尝试了它,没有使用“*”和“.”之后,也没有任何效果。我也曾尝试在application.yml中关闭它,但这也没有完全关闭调试,我仍然从spring boot中获得调试输出。我想我必须尝试创建一个自定义logback.xml,但我真的不明白为什么这会令人沮丧!据我所知,logging.level.root=OFF关闭日志记录。但是,如果为另一个包指定另一个级别,它将覆盖以前的规则。因此,logging.level.root=OFF logging.level.org.springframework.web=DEBUG将在org.springframework.web包中记录调试级别