1. springboot 默认使用logback 作为日志打印框架,依赖为
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
springboot的logback的默认配置文件位置:spring-boot-2.0.4.RELEASE.jar/org/springframework/boot/logging/logback/defaults.xml
2 . logback.xml 和logback-spring.xml 的区别
logback和logback-spring.xml都可以用来配置logback,但是2者的加载顺序是不一样的,加载顺序为
logback.xml--->application.properties--->logback-spring.xml.
logback.xml加载早于application.properties,所以如果你在logback.xml使用了变量时,而恰好这个变量是写在application.properties时,那么就会获取不到,只要改成logback-spring.xml就可以解决
3 . springboot 2.x 自定义logback.xml 位置
自定义logback 位置,需要引入logback 监听依赖
<dependency>
<groupId>org.logback-extensions</groupId>
<artifactId>logback-ext-spring</artifactId>
<version>0.1.4</version>
</dependency>
将bean 注入到spring中
@Bean
public ServletContextInitializer initializer() {
return new ServletContextInitializer() {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("logbackConfigLocation", "classpath:config/logback.xml");
}
};
}
如果logback.xml 变量需要用到属性配置文件中定义的配置,则需要在logback.xml 中指定配置文件
例如在logback.xml 中添加
<property file="config/applicaiton-${spring.profiles.active}.properties"/>
springboot 2.x 参考
https://blog.csdn.net/qq_35159836/article/details/103147544
spring 1.x 参考