SpringBoot日志相关

SpringBoot使用的是SLF4j当门面,Logback当实现完成

日志级别

数字越大,级别越高,框架只会输出大于等于当前日志级别的信息

  • ERROR 40
  • WARN 30
  • INFO 20
  • DEBUG 10
  • TRACE 0

几种常用的使用方法

第一种 :

private Logger logger = LoggerFactory.getLogger(WeixindiancanApplicationTests.class);

logger.info();
...

默认的级别上info,按上面的排名只会输出 info,warn,error级别以上的日志

在获取logger对象时,一般都是将本类的class传递进去,在默认的格式在日志输出时会把每条日志信息所在的class名输出出来

第二种: SpringBoot整合 Lombok

Lombok不仅仅提供了强大的@Data,和getset注解,同时支持日志相关

@Slf4j添加在类上,我们就不用再手动的获取Logger对象了,而是直接使用log

log.debug("dubug..."); 
log.info("info...");
log.error("error...");

格式:

在输出日志的时候可以向下面这样,两种写法

log.info("name="+name+"  age="+age);
log.info("name= {},age: {}",name,age);

application.yml的配置

SpringBoot日志相关_第1张图片

如图是日志相关的配置

  • path: E:  

将日志输出到文件 , 默认会在这个路径下创建spring.log

  • file: E:\mylog.log

    将日志输出到指定目录的指定文件, 可以取代上面的path

  • level:
    • 可以设置上面的五种日志级别
    • 可以指定某个类的日志级别
logging:
  pattern:
  level:
    com.changwu.wen.WeicanApplication: debug
  • console: 格式,网上很多不同的输出格式

logback-sring.xml的配置

通过这个配置文件,可以更方便的控制日志的输出,比如将 级别为info的输出到A文件, 级别为error的输出到B文件

默认放置在Resources目录下




    
    
        
        
             
                 %d - %msg%n
             
        
    

    
    
        
        
            ERROR
            
            DENY
            ACCEPT
        

         
            
                %msg%n
            
        
        
        
            
            E:\info.%d.log
        
    


    
    
        
        
            ERROR
        

        
            
            
                %msg%n
            
        
        
        
            
            E:\error.%d.log
        
    


    
    
        
        
        
    

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