日志记录:LogBack结合SSM或SpringBoot

1 Logback的引入

所谓日志框架是一套能实现日志输出的工具包,而所有能够描述系统运行状态的事件都可以算作日志。

目前常用的日志框架包括Log4j,Log4j 2,Commons Logging,Slf4j,Logback,Jul等等,但是由于种种原因,比较常用的组合使用方式是Slf4j与Logback组合使用,Commons Logging与Log4j组合使用。

Commons Logging和Slf4j是日志门面。log4j和Logback则是具体的日志实现方案。可以简单的理解为接口与接口的实现,调用这只需要关注接口而无需关注具体的实现,做到解耦。

注解:门面模式是软件工程中常用的一种软件设计模式,也被称为正面模式、外观模式。它为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用。

 

为什么我和spring选择了SLF4J和Logback?

就因为对Commons Logging的接口不满意,有人就搞了Slf4j。因为对Log4j的性能不满意,有人就搞了Logback。而这里的有个人指的就是就是Log4j的作者Ceki。他嫌Log4j是在太懒了,于是离开Apache公司后就开发了Slf4j和Logback。确实SLF4J和Logback的组合也更受大众喜爱。

2 导入jar包

直接导入logback



    ch.qos.logback
    logback-classic
    1.2.3


或者如果是springboot项目的话,只要有日志记录的起步依赖就行了,如下:


    org.springframework.boot
    spring-boot-starter-logging

3 Logback配置文件

在classpath或者src或者resource文件夹下(即源根文件夹下)创建如logback-spring.xml的配置文件。我们针对info和error信息安全程度的不同,将两种信息分别输出到不同的日志文件中,且每天会重新增加一个文件记录对应日志,达到滚动效果。其余配置见博客——看完这个不会配置logback,请你吃瓜!

具体代码如下:




    
    
        
            %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
        
    

    
    
        
        
            ERROR
            DENY
            ACCEPT
        

        
            
            %d{HH:mm:ss.SSS} [%level] [%thread] %logger{60} [%file : %line] %msg%n
        
        
            
            log/info.%d.log
        
    

    
    
        
        
            ERROR
        

        
            
            %d{HH:mm:ss.SSS} [%level] [%thread] %logger{60} [%file : %line] %msg%n
        

        
            
            log/error.%d.log
        
    

    
    
        
        
        

    




4 加载配置文件

4.1 springboot中

在application.properties文件中加入以下代码即可

#===========加载日志配置文件==============
logging.config=classpath:logback-sprin

g.xml

4.2 Spring中

在web.xml文件中配置相应的监听器即可


    logbackConfigLocation
    classpath:logback.xml


    ch.qos.logback.ext.spring.web.LogbackConfigListener

 

你可能感兴趣的:(后台,java,#,spring)