springboot日志使用log4j、logback.xml配置文件

先说一下slf4j的优点:

  1. slf4j使用了占位符记录日志,通过移除对isDebugEnabled(), isInfoEnabled()等等的检查提高了代码的可读性。
  2. 使用slf4j日志记录方法,在日志信息(字符串)被打印的时候,才会去构造日志信息,减少了不符合日志级别的字符串拼接造成的消耗。
  3. slf4j.jar只是定义日志的接口,slf4j-log4j.jar 将slf4j的接口转向log4j 为日志的实现。

   SpringBoot能自动适配许多的日志,例如self4j、log4j等日志框架。可以直接在工程里写log4j.properties或者logback.xml,使用一个放在resources下就可以了,能够被springboot直接被识别。
   看一下springboot框架的依赖,可以发现它底层是使用self4j和logback的,self4j和log4j可以转化。

image

1. log4j.properties 配置文件

log4j.rootLogger = debug ,  stdout ,  D ,  E
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{yyyy-MM-dd HH:mm:ss} [%5p] %c:%L --- %m%n
### 保存debug日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = /store/logs/log.log
log4j.appender.D.DatePattern = -yyyy-MM-dd'.log'
log4j.appender.D.Append = true
## 保存DEBUG级别以上的日志 ###
log4j.appender.D.Threshold = DEBUG, ERROR
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%5p] %c:%L --- %m%n
###  保存异常信息到单独文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = /store/logs/error.log
log4j.appender.E.DatePattern = -yyyy-MM-dd'.log'
log4j.appender.E.Append = true
## 只输ERROR出级别以上的日志
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%5p] %c:%L --- %m%n

2. logback.xml配置:




  

  
  

  
    
      ${PATTERN_FILE}
      UTF-8
    
  

  
    ${LOG_PATH}/common.log
    
      
      ${LOG_PATH}/common.log.%d{yyyy-MM-dd}.log
      
      
      30
    
    
      50MB
    
    
      ${PATTERN_FILE}
      UTF-8 
    
  

  
    
    y
  


看一下logback.xml的使用效果:

image.png

你可能感兴趣的:(springboot日志使用log4j、logback.xml配置文件)