spring中配置logback+slf4j

以下配置基于spring整合logback、slf4j,每天生成两个日志文件(info级别和error及以上级别),控制台日志级别为info。

maven中的配置

 
        
            org.slf4j
            jcl-over-slf4j
            1.7.25
        
        
        
            org.projectlombok
            lombok
            1.18.8
        

        
        
            org.logback-extensions
            logback-ext-spring
            0.1.4
        

        
        
            ch.qos.logback
            logback-classic
            1.2.3
        

 

logback.xml




    
    
        
            
            %d [%t] %highlight(%-5p) [%c] - %m%n
        
    

    
    

        
            INFO
            ACCEPT
            DENY
        

        
            %d [%t] %-5p [%c] - %m%n
        
        
        
            
            journal/jquery_ajax/logs/info.%d.log
        

    


    
    

        
            error
        

        
            %d [%t] %-5p [%c] - %m%n
        
        
        
            
            journal/jquery_ajax/logs/error.%d.log
        

    

    
    
        
        
        
    

web.xml(在web.xml中配置一个listener.同时配置一个上下文参数,用于指定logback.xml配置文件的路径)

 
        logbackConfigLocation
        classpath:logback.xml
    
    
    
        ch.qos.logback.ext.spring.web.LogbackConfigListener
    

以上配置之后,便整合完毕!

接着测试一下配置是否生效。

基于spring项目,在测试类中做以下日志级别输出。(一般我们自定义异常类,异常类中log.error("程序发生错误",e);)


@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:applicationContext.xml"})
@WebAppConfiguration
public class UserControllerTest {

    @Test
    public void sys(){
        log.trace("trace测试{}","嘻嘻");
        log.debug("debug测试{}","哈哈哈哈");
        log.info("info测试{}","hahaha");
        log.warn("warn测试{}","wowowo");
        log.error("error测试{}","xixixixi");
    }
}

得到结果如下: 

spring中配置logback+slf4j_第1张图片

 

----------------------------------------------------------------------------------------------------------------

Spring Boot 的话,不用导包(spring-boot-starter默认导入了),也不用配置web.xml(因为没有这个文件)。

将logback.xml文件名改为logback-spring.xml就可以。

 

补充:

如果需要查看mybatis的SQL信息,需要把级别改为debug。

有两种方式:

1、把全局的日志级别设为info,然后把打印SQL相关的日志级别改为debug

    
    

    
    
        
        
        
    

2、将全局的日志级别设置为debug,然后将需要屏蔽的框架日志级别设置为info

    
    
    
    
    
        
        
        
    

以上就是我对spring整合logback+slf4j的总结,谢谢。 

你可能感兴趣的:(日志)