SpringBoot基础教程2-1-5 日志规范-logback配置详解
2018-07-15 14:49
1181 查看
1. 概述
日志会在ApplicationContext之前初始化,
SpringBoot为我们提供了
logging.config属性,方便我们配置自定义日志文件。默认情况它会根据日志的依赖自动加载。
Logging System | Customization |
---|---|
JDK | logging.properties |
Log4j2 | log4j2-spring.xml或 log4j2.xml |
Logback | logback-spring.xml、 logback-spring.groovy、 logback.xml、 logback.groovy |
Logback,在
application.yml添加配置如下:
# logback配置文件路径;如果配置文件放在根目录,则无需配置 logging: config: classpath:config/logback-spring.xml
2. logback-spring.xml
配置详解
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="true"> <!-- 读取 spring.application.name 属性来生成日志文件名 scope:作用域 name:在 logback-spring.xml 使用的键 source:application.properties 文件中的键,也可以时启动参数:java -jar xxx.jar -Dspring.application.appName=xxx defaultValue:默认值 --> <springProperty scope="context" name="appName" source="spring.application.appName" defaultValue="appName.log"/> <!-- 彩色日志依赖的渲染类 --> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> <!-- yyyy-MM-dd HH:mm:ss.SSS: 日志时间 LOG_LEVEL_PATTERN: 日志级别 PID: 进程id t: 线程名 logger: 打印日志类名 LOG_EXCEPTION_CONVERSION_WORD: 日志转换器 --> <!--占位符定义:控制台彩色日志格式--> <property name="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}}"/> <!--占位符定义:文件日志格式--> <property name="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}}"/> <!--占位符定义:日志文件路径,文件--> <property name="FILE_PATH" value="./../logs" /> <!--日志输出的目的地--> <!--日志输出的目的地:控制台,本地启服务使用--> <appender name="CONSOLE_LOCAL" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!-- pattern节点,用来设置日志的输入格式 --> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <charset>UTF-8</charset> </encoder> </appender> <!--日志输出的目的地:文件,线上定位问题使用,建议按日期或者大小归档--> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${FILE_PATH}/${appName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${FILE_PATH}/${appName}.%d{yyyy-MM-dd}.log</fileNamePattern> <MaxHistory>100</MaxHistory> </rollingPolicy> <encoder> <pattern>${FILE_LOG_PATTERN}</pattern> <charset>UTF-8</charset> </encoder> </appender> <root level="info"> <appender-ref ref="CONSOLE_LOCAL" /> <appender-ref ref="FILE" /> </root> <!--多环境日志配置--> <!--线上环境日志级别为Info,并且线上环境写日志文件--> <springProfile name="pro"> <root level="info"> <appender-ref ref="FILE" /> </root> </springProfile> <!-- 开发环境日志级别为DEBUG,并且开发环境不写日志文件 --> <springProfile name="dev"> <root level="debug"> <appender-ref ref="CONSOLE_LOCAL" /> </root> </springProfile> </configuration>
springProperty可以让我使用
Spring Environment中的属性。例如:读
application.yml配置中的值,或者启动参数中的值
springProfile可以让我们适配多环境
3. 工程目录
4. 结束语
说点什么呢,有任何建议,欢迎留言探讨,本文源码。欢迎关注博主公众号:
Java十分钟
相关文章推荐
- SpringBoot基础教程2-1-4 日志规范-基础配置详解
- Spring Boot基础教程——日志配置-logback和log4j2
- Spring Boot基础教程5-日志配置-logback和log4j2
- 基于Spring Boot的Logback日志轮转配置详解
- 详解Spring Boot配置使用Logback进行日志记录的实战
- 【SpringBoot教程五】:SpringBoot+LogBack日志配置
- SpringBoot基础教程2-1-6 日志规范-使用AOP统一处理Web日志
- spring boot使用logback实现多环境日志配置详解
- Spring Boot基础教程——配置文件-多环境配置
- spring boot(三)logback日志配置
- Spring Boot 日志配置(LogBack,LockBack异步日志)
- spring-boot-started-logging logback常用配置之<filter>标签详解
- 详解Spring Boot 使用slf4j+logback记录日志配置
- Spring基础学习教程(applicationContext.xml 配置文件 详解)-07
- (转)Spring boot——logback.xml 配置详解(三)<appender>
- (转)Spring boot——logback.xml 配置详解(四)<filter>
- Spring Boot系列教程六:日志输出配置log4j2
- Spring Boot实战之配置使用Logback进行日志记录
- Spring Boot基础3-配置文件详解:Properties和YAML
- spring-boot-starter-logging logback常用配置之<appender>标签详解