slf4j+logback日志框架的搭建与使用

据说马上要开项目了,自己闲来无事就基于SpringBoot来搭建一套开发框架,在日志框架上,我本次选用了Slf4j+Logback的日志框架。特此在这里记录一下。

 

前景提要:

slf4j :定义了一套接口,是一个日志门面,可实现多个日志系统间快速切换(通过修改配置文件)。ps:Slf4j相当于一个接口,它没有具体的日志实现,但可以通过它来调用如log4j、logback等具体的log日志实现

Logback:和log4j是同一作者,是log4j的升级版,是日志框架的具体实现

logback 主要分为三个模块,分别是:

  • logback-core:提供基础功能,是其他两个模块的基础
  • logback-classic : log4j的升级,实现了self4j api
  • logback-access:用于与sevlet容器进行集成、提供网络访问日志的功能

 

开始正文:

jar:

如果在你maven的pom.xml中,依赖了如下内容:

那么就不用再导入关于slf4j与logback的jar了。我们看看spring-boot-starter-web的依赖树:

logback.xml:



    
    
    
    
        
            %d %p (%file:%line\)- %m%n
            
            UTF-8
        
    
    
    
    
    
        logs/Info/Info.log
        
        
        
            INFO

            
            
            
            ACCEPT
            DENY
        
        
        
        
            
            
            logs/Info/Info.%d.%i.log
            
            500
            
                
                30MB
            
        
        
            
            
                %d %p (%file:%line\)- %m%n
            
            
            UTF-8 
        
    

    
    
        logs/Error/Error.log
        
        
            ERROR
            ACCEPT
            DENY
        
        
            logs/Error/Error.%d.%i.log
            500
            
                100MB
            
        
        
            %d %p (%file:%line\)- %m%n
            UTF-8
        
    

    
    
        logs/warn/warn.log
        
        
            WARN
            ACCEPT
            DENY
        
        
            logs/warn/warn.%d.%i.log
            500
            
                30MB
            
        
        
            %d %p (%file:%line\)- %m%n
            UTF-8
        
    

    
    
        logs/File/File.log
        
            logs/File/File.%d.%i.log
            500
            
                30MB
            
        
        
            %d %p (%file:%line\)- %m%n
            UTF-8
        
    

    
    
        
        
    
    
    
    
    
    
        
        
        
        
    

该logback.xml实现的内容是:

  • 在控制台打印DEBUG级别及以上的信息
  • 对于INFO、ERROR、WARN级别的日志分别保存到专属的文件夹下
  • 对于INFO级别及以上的所有日志都保存到File文件内
  • 自动将今天之前的log分别保存到不同日期的文件内

slf4j+logback日志框架的搭建与使用_第1张图片

slf4j+logback日志框架的搭建与使用_第2张图片

注:

  • 在SpringBoot下,如果logback配置文件名为:logback.xml,无需在application中初始化(也可以去配置初始化,但个人觉得没意义)
  • 如果想扩展logback的配置文档,则配置文档的命名必须为:logback-XXX.xml,且需在application.xml中进行初始化
#在application.properties文件中引入日志配置文件
#=====================================  log  =============================
logging.config=classpath:logback-boot.xml

 

总结:

对于log以前很少关注,上次自己配了一下,但当时对于里面的配置与生产log文件等还是有些许疑惑。

现在在新项目上重新搭建slf4j+logback的log框架,之前遗留了疑惑问题,都通通解决。所以实践永远是检验真理的唯一标准啊。

总的来说,配置slf4j+logback的日志框架,就两步,1.引入jar,2.配置logback.xml配置文件

如果想再丰富更多关于log日志框架,可在此基础上继续塞进一些自己的东西

彩笔一枚,如有错误不足,希望及时评论指正!

 

参考文档:
https://blog.csdn.net/appleyk/article/details/78717388#commentsedit、
https://blog.csdn.net/a314773862/article/details/79808407#t4

你可能感兴趣的:(JAVA)