SpringBoot基础教程2-1-5 日志规范-logback配置详解

1. 概述

日志会在ApplicationContext 之前初始化, SpringBoot 为我们提供了 logging.config 属性,方便我们配置自定义日志文件。默认情况它会根据日志的依赖自动加载。

Logging System Customization
JDK logging.properties
Log4j2 log4j2-spring.xmllog4j2.xml
Logback logback-spring.xmllogback-spring.groovylogback.xmllogback.groovy

如果选择Logback,在application.yml添加配置如下:

# logback配置文件路径;如果配置文件放在根目录,则无需配置
logging:
  config: classpath:config/logback-spring.xml

2. logback-spring.xml配置详解

"1.0" encoding="UTF-8"?>
"true">

    
    "context" name="appName" source="spring.application.appName" defaultValue="appName.log"/>

    
    "clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
    "wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
    "wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />

    
    
    "CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
    
    "FILE_LOG_PATTERN" value="${FILE_LOG_PATTERN:-%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%15.15t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>

    
    "FILE_PATH" value="./../logs" />

    
    
    "CONSOLE_LOCAL" class="ch.qos.logback.core.ConsoleAppender">
        
            
            ${CONSOLE_LOG_PATTERN}
            UTF-8
        
    

    
    "FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        ${FILE_PATH}/${appName}.log
        "ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            ${FILE_PATH}/${appName}.%d{yyyy-MM-dd}.log
            100
        
        
            ${FILE_LOG_PATTERN}
            UTF-8
        
    

    "info">
        "CONSOLE_LOCAL" />
        "FILE" />
    

    
    
    "pro">
        "info">
            "FILE" />
        
    

    
    "dev">
        "debug">
            "CONSOLE_LOCAL" />
        
    
  • springProperty 可以让我使用Spring Environment中的属性。例如:读application.yml配置中的值,或者启动参数中的值
  • springProfile可以让我们适配多环境

3. 工程目录

SpringBoot基础教程2-1-5 日志规范-logback配置详解_第1张图片

4. 结束语

说点什么呢,有任何建议,欢迎留言探讨,本文源码。


欢迎关注博主公众号:Java十分钟

欢迎关注博主公众号

你可能感兴趣的:(SpringBoot)