- 首先我们需要准备一个监听器
public class WsdLogInfoListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
// 上下文初始化的时候设置一下日志级别
Logger root = LoggerFactory.getLogger("ROOT");
if(root.isDebugEnabled()){
// 如果开启的是debug级别
if (root instanceof ch.qos.logback.classic.Logger) {
ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger) root;
logger.setLevel(Level.INFO);
}
}
}
}
- 在web.xml的springmvc监听器之间加上我们新加的监听器
<listener>
<listener-class>
com.wisdom.wsdframeweb.listeners.WsdLogInfoListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.util.IntrospectorCleanupListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
注意: 如果项目中存在启动类 并且启动类中有如下代码 那么可以直接通过springboot的配置文件对logback的级别进行配置
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, SecurityAutoConfiguration.class, CxfAutoConfiguration.class})
public class WebApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(WebApplication.class);
}
}