700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【springboot集成slf4j logback配置】

【springboot集成slf4j logback配置】

时间:2023-03-09 10:06:27

相关推荐

【springboot集成slf4j logback配置】

springboot 配置 日志输出 彩色格式 指定文件

todo:begin:1、pom.xml 里的依赖2、application.yml3、/resources/logback-spring.xml

todo:

idea控制台的日志按照指定格式、级别、彩色输出

且debug、info、error日志分开输出到指定日志文件

begin:

1、pom.xml 里的依赖

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.5.RELEASE</version></parent><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></dependency>

2、application.yml

logging:config: "classpath:logback-spring.xml"

3、/resources/logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?><configuration debug="false"><!-- 定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 --><property name="LOG_HOME" value="./logs" /><!--自定义日志文件格式,支持控制台彩色字体,参见org.springframework.boot.logging.logback.DefaultLogbackConfiguration--><!-- 彩色日志依赖的渲染类 --><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"/><!-- 配置console控制台日志输出项 --><appender name="CONSOLELOG" class="ch.qos.logback.core.ConsoleAppender"><!-- 过滤所有日志,在控制台输出info及以下级别的日志 --><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>INFO</level></filter><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!-- 格式化输出 --><pattern><![CDATA[${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr([%thread]){faint} %clr(%-40.40logger{39}){cyan} %clr(%-4L) %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}]]></pattern></encoder></appender><!-- 配置debug日志输出到文件 --><appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只记录debug级别的输出到文件 --><level>DEBUG</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><!--配置滚动策略--><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!-- 按照每天生成日志文件 --><!-- 日志文件输出的文件名 --><FileNamePattern>${LOG_HOME}/debug/%d{yyyy-MM-dd}-%i.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>7</MaxHistory><maxFileSize>20MB</maxFileSize></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} %line : %msg%n</pattern></encoder></appender><!-- 配置info日志输出到文件 --><appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只记录info级别的输出到文件 --><level>INFO</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><!--配置滚动策略--><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!-- 按照每天生成日志文件 --><!-- 日志文件输出的文件名 --><FileNamePattern>${LOG_HOME}/info/%d{yyyy-MM-dd}-%i.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>15</MaxHistory><maxFileSize>20MB</maxFileSize></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} %line : %msg%n</pattern></encoder></appender><!-- 配置error日志输出到文件 --><appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--比较日志记录请求的Level值和ThresholdFilter中配置的Level值当日志记录请求的Level值小于ThresholdFilter中配置的Level值,日志记录请求被判定为无效--><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>ERROR</level></filter><!-- 配置滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!-- 按照每天生成日志文件 --><!-- 日志文件输出的文件名 --><FileNamePattern>${LOG_HOME}/error/%d{yyyy-MM-dd}-%i.log</FileNamePattern><!-- 日志文件保留天数--><MaxHistory>30</MaxHistory><maxFileSize>20MB</maxFileSize></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} %line : %msg%n</pattern></encoder></appender><!-- 日志输出级别 --><root level="debug"><appender-ref ref="CONSOLELOG" /><appender-ref ref="DEBUG_FILE"/><appender-ref ref="INFO_FILE"/><appender-ref ref="ERROR_FILE"/></root></configuration>

## 4、最终输出样子: ![在这里插入图片描述](https://img-/9ee2a2d3319041ae8879bbbf58cea1cc.png) ![在这里插入图片描述](https://img-/9fd02fe4688a4120bd19e8b69c3e5d99.png)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。