我们使用SLF4J框架记录日志时,会用到 logback.xml 和 logback-spring.xml 两个不同的配置文件。
logback-spring.xml 只有在Spring应用程序运行的时候才生效,即带有@SpringBootApplication注解的类启动的时候才会生效。
如果不是Spring应用程序,而是一个main方法或者一个JUnit的测试方法,要用 logback.xml 来配置。如果没有logback.xml这个文件,或者logback.xml放的路径不对,则日志仍然是会打印出来的,而且会按照默认的DEBUG级别打印。这样一运行程序会有大量的DEBUG信息,把真正有用的信息都淹没了。
我们要想把这些烦人的DEBUG信息关掉,禁止它输出DEBUG信息,需要自己创建一个名为 logback.xml 的文件。一般Spring Boot项目里面已经带有一个 logback-spring.xml 文件了,最省事的方法是直接把 logback-spring.xml 复制一份,名字改成 logback.xml 就行,里面所有的配置语法都不用改。因为logback-spring和logback除了文件名不同,里面写法是完全一样的。
要想把DEBUG信息关掉,找到root level="DEBUG"这一段,改成ERROR。
<!-- 日志输出级别 -->
<root level="ERROR">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<appender-ref ref="HTML" />
<appender-ref ref="FILE_HTML" />
</root>
logback-spring和logback除了文件名不同,存放的位置也是不同的。
logback-spring.xml存放的位置是在SpringApplication主类所在的项目的resources目录,也就是application.yml或者application.properties所在的目录。
logback.xml存放的位置是在你启动的那个类所在的项目的resources目录。
而且这个resources目录,原本也是没有的,我们手工创建了resources目录之后,还要在IDEA的项目属性里面手工把它指定为资源目录。
最后这一步操作是开发工具自己的配置,没办法把这个配置提交到Git上面,所以每个人更新代码之后可能都要做一次同样的操作。