Spring Boot 默认日志配置

springboot 默认日志配置

SpringBoot 日志配置 默认采用LogBack作为日志输出!

日志格式化

Spring Boot 默认日志配置_第1张图片
在这里插入图片描述

具体输出的格式详解如下:

2019-01-10 17:30:08.685 :日期精确到时间毫秒级别

info是日志级别 : 可以设置为其他的级别如debug,error等

9184 :进程id

--- : 分割符

main: 表示主线程

com.xxxxx: 通常为源码类

“:” 后即为详细的日志信息

控制台输出级别

在application.properties文件中配置

如果你的终端支持ANSI,设置彩色输出会让日志更具可读性。通过在application.properties中设置spring.output.ansi.enabled参数来支持。

  • NEVER:禁用ANSI-colored输出(默认项)
  • DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项)
  • ALWAYS:总是使用ANSI-colored格式输出,若终端不支持的时候,会有很多干扰信息,不推荐使用
#多彩输出
spring.output.ansi.enabled=detect
#日志级别
logging.level.root=info
#所有包下面都以debug级别输出
logging.level.*=info

默认输出格式

在这里插入图片描述

可以通过 logging.pattern.console = 进行配置

文件输出

springboot默认会将日志输出到控制台,线上查看日志时会很不方便,一般我们都是输出到文件。

需要在application.properties配置

#日志输出路径问价 优先输出 logging.file
logging.file=C:/Users/tizzy/Desktop/img/my.log

#设置目录,会在该目录下创建spring.log文件,并写入日志内容,
logging.path=C:/Users/tizzy/Desktop/img/

#日志大小 默认10MB会截断,重新输出到下一个文件中,默认级别为:ERROR、WARN、INFO
logging.file.max-size=10MB
Spring Boot 默认日志配置_第2张图片
在这里插入图片描述

logging.file 和 logging.path 同时设置时候会优先使用logging.file 作为日志输出。

自定义日志配置

日志服务在ApplicationContext 创建之前就被初始化了,并不是采用Spring的配置文件进行控制。

那我们来如何进行自定义配置日志呢。

springboot为我们提供了一个规则,按照规则组织配置文件名,就可以被正确加载:

  • Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
  • Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
  • Log4j2:log4j2-spring.xml, log4j2.xml
  • JDK (Java Util Logging):logging.properties

LogBack xml配置



   
   
    
    
        %d{yyyy-MM-dd HH:mm:ss} [%level] - %m%n
    
    
    
      
      WARN
      
      ACCEPT
      
      DENY
    
  

   
  
     
    /logs/error.log
    
    
        %d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%n
    
    
    
      
      ERROR
      
      ACCEPT
      
      DENY
    
    
    
      
      error.%d{yyyy-MM-dd}.log
      
      30
    
  

  
  
    
    
  

Log4j

引如Log4j日志时候 需要 排除logBack日志


org.springframework.boot
spring-boot-starter


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




org.springframework.boot
spring-boot-starter-log4j

# 日志级别,日志追加程序列表...
log4j.rootLogger=DEBUG,ServerDailyRollingFile,stdout
#文件保存日志
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
#文件保存日志日期格式
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd_HH
#文件保存日志文件路径
log4j.appender.ServerDailyRollingFile.File=/mnt/lunqi/demo/log4j.log
#文件保存日志布局程序
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
#文件保存日志布局格式
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
#文件保存日志需要向后追加(false是测试的时候日志文件就清空,true的话就是在之前基础上往后写)
log4j.appender.ServerDailyRollingFile.Append=false
#控制台日志
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#控制台日志布局程序
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#控制台日志布局格式
log4j.appender.stdout.layout.ConversionPattern=%d yyyy-MM-dd HH:mm:ss %p [%c] %m%n

Log4j2

同样排除LogBack干扰,并且引入Log4j2依赖


org.springframework.boot
spring-boot-starter


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




org.springframework.boot
spring-boot-starter-log4j2

log4j2.xml


 
     
         
             
            
        
        
            
         
        
            
            
        
     

     
        
            
            
        
    

更多查看官方文档

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html

你可能感兴趣的:(Spring Boot 默认日志配置)