springboot2.0整合logback日志的详细代码

一。

近期自己的项目想要一个记录日志的功能,而springboot本身就内置了日志功能,然而想要输入想要的日志,并且输出到磁盘,然后按天归档,或者日志的切分什么的,自带的日志仅仅具有简单的功能,百度了一番,总结如下,适合大多数的应用场景

二。

springboot的pom文件都会引一个parent

 
        org.springframework.boot
        spring-boot-starter-parent
        2.0.0.RELEASE
    

点进去这个parent,会有一个这个dependency

 
        org.springframework.boot
        spring-boot-dependencies
        2.0.0.RELEASE
        ../../spring-boot-dependencies
    

再点进去就是2.0版本,所谓的它给你集成的各种包依赖,而且规定了版本号,其中有一个包如下

 
                org.springframework.boot
                spring-boot-starter
                2.0.0.RELEASE
            

再点进去

    
      org.springframework.boot
      spring-boot-starter-logging
      2.0.0.RELEASE
      compile
    

再点,这些都是原有的日志包,所以,不必再引依赖了,直接用就ok了,用法如下:

  
    
      ch.qos.logback
      logback-classic
      1.2.3
      compile
    
    
      org.apache.logging.log4j
      log4j-to-slf4j
      2.10.0
      compile
    
    
      org.slf4j
      jul-to-slf4j
      1.7.25
      compile
    

============================分割线====================================

首先,官方推荐使用的xml名字的格式为:logback-spring.xml而不是logback.xml,至于为什么,因为带spring后缀的可以使用这个标签。

在resource下创建logback-spring.xml文件

内容如下,每行都有注释了








    
    logback
    
    
    
    
    
    
    
    
    
    
    
        
        
            info
        
        
            ${CONSOLE_LOG_PATTERN}
            
            UTF-8
        
    
    
    
    
        
        ${log.path}/log_debug.log
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            UTF-8 
        
        
            
            ${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log
            
                100MB
            
            
            15
        
        
        
            debug
            ACCEPT
            DENY
    
    
        ${log.path}/log_info.log
            
            ${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log
        
    
    
        ${log.path}/log_warn.log
            UTF-8 
            ${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log
        
            warn
    
    
        ${log.path}/log_error.log
            ${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log
        
            ERROR
    
    
    
        使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:
        第一种把改成这样就会打印sql,不过这样日志那边会出现很多其他消息
        第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:
     -->
        root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
        不能设置为INHERITED或者同义词NULL。默认是DEBUG
        可以包含零个或多个元素,标识这个appender将会添加到这个logger。
    
    
        
    
    
        
        
        
        
        
    
    
    
        
            
            
            
            
            
        
    

其中说一下,彩色日志这个功能,需要下载插件,然后在yml或者properties中配置。

logging.config=classpath:log/logback-spring.xml
logging.path=D:/nmyslog/nmys

日志的使用方式,就跟普通使用一样,只不过,此配置配置的是不仅在控制台输出而且在磁盘上也会保留,并且info/debug/error/warn的日志都区分开了,并且按照每天做了归档,

================================2019年7月18日更新==========================================

日志整合再次升级,升级内容:

1. 规范了日志的打印格式

2. 增加了彩色日志输出

3. 支持异步推送kafka

4. 日志文件压缩功能

地址:https://www.cnblogs.com/zhangjianbing/p/15895562.html

到此这篇关于springboot2.0整合logback日志(详细)的文章就介绍到这了,更多相关springboot整合logback内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(springboot2.0整合logback日志的详细代码)