springboot日志文件logback-spring.xml的配置

 

由于日志服务一般都在ApplicationContext创建前就初始化了,它并不是必须通过Spring的配置文件控制。因此通过系统属性和传统的Spring Boot外部配置文件依然可以很好的支持日志控制和管理。

根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:

  • Logback:logback-spring.xmllogback-spring.groovylogback.xmllogback.groovy
  • Log4j:log4j-spring.propertieslog4j-spring.xmllog4j.propertieslog4j.xml
  • Log4j2:log4j2-spring.xmllog4j2.xml
  • JDK (Java Util Logging):logging.properties

Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项。

上面是默认的命名规则,并且放在src/main/resources下面即可。

如果你即想完全掌控日志配置,但又不想用logback.xml作为Logback配置的名字,可以在application.properties配置文件里面通过logging.config属性指定自定义的名字:

logging.config=classpath:logging-config.xml

 以下是一个logback-spring.xml例子,可以直接复制使用:









    
    
    
    
    logback

    
    
    
    
    
    
    

    
    
        
        
            debug
        
        
            ${CONSOLE_LOG_PATTERN}
            
            UTF-8
        
    

    
    
    
        
        ${log.path}/${APP_NAME}_debug.log
        
        
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %logger{50} %file:%line - %msg%n
            UTF-8 
        
        
        
            
            ${log.path}/${APP_NAME}-debug-%d{yyyy-MM-dd}.%i.log
            
                100MB
            
            
            30
        
        
        
            debug
            ACCEPT
            DENY
        
    

    
    
        
        ${log.path}/${APP_NAME}_info.log
        
        
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %logger{50} %file:%line - %msg%n
            UTF-8
        
        
        
            
            ${log.path}/${APP_NAME}-info-%d{yyyy-MM-dd}.%i.log
            
                100MB
            
            
            30
        
        
        
            info
            ACCEPT
            DENY
        
    

    
    
        
        ${log.path}/${APP_NAME}_warn.log
        
        
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %logger{50} %file:%line - %msg%n
            UTF-8 
        
        
        
            ${log.path}/${APP_NAME}-warn-%d{yyyy-MM-dd}.%i.log
            
                100MB
            
            
            30
        
        
        
            warn
            ACCEPT
            DENY
        
    

    
    
        
        ${log.path}/${APP_NAME}_error.log
        
        
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %logger{50} %file:%line - %msg%n
            UTF-8 
        
        
        
            ${log.path}/${APP_NAME}-error-%d{yyyy-MM-dd}.%i.log
            
                100MB
            
            
            30
        
        
        
            ERROR
            ACCEPT
            DENY
        
    

    

    

    

    
    
        
            
            
            
            
            
        
    
    
    
        
            
            
            
            
            
        
    
    
    
        
            
            
            
            
            
        
    

 在application.properties中指定日志环境

#日志环境配置
spring.profiles.active=dev

通过application.properties文件中 spring.profiles.active=test 来指定logback-spring.xml 中使用哪一段来记录日志 。
在需要记录日志的地方使用
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

private final Logger logger = (Logger) LoggerFactory.getLogger(this.getClass());
logger.info(“日志内容”);

这样就可以记录了,满足开发需要。

你可能感兴趣的:(springboot,工具,Tomcat,logging,java,logback)