Spring Boot Logback配置日志过程解析

网友投稿 279 2022-12-23


Spring Boot Logback配置日志过程解析

这篇文章主要介绍了Spring Boot Logback配置日志过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

出于性能等原因,Logback 目前是springboot应用日志的标配; 当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式。

配置时考虑点

支持日志路径,日志level等配置

日志控制配置通过application.yml下发

按天生成日志,当天的日志>50MB回滚

最多保存10天日志

生成的日志中Pattern自定义

Pattern中添加用户自定义的MDC字段,比如用户信息(当前日志是由哪个用户的请求产生),request信息。此种方式可以通过AOP切面控制,在MDC中添加requestID,在spring-logback.xml中配置Pattern。

根据不同的运行环境设置Profile - dev,test,product

对控制台,Err和全量日志分别配置

对第三方包路径日志控制

实现范例

如下两个例子基本包含了上述的考虑点:

综合范例

application.yml

logging:

level:

root: debug

path: C:/data/logs/springboot-logback-demo

server:

port: 8080

spring:

application:

name: springboot-logback-demo

debug: false

Spring-logback.xml

${LOG_MSG}

${LOG_HOME}/all_${LOG_PREFIX}.log

${LOG_DIR}/all_${LOG_PREFIX}%i.log

${MAX_HISTORY}

${MAX_FILE_SIZE}

${LOG_MSG}

ERROR

DENY

ACCEPT

${LOG_HOME}/err_${LOG_PREFIX}.log

${LOG_DIR}/err_${LOG_PREFIX}%i.log

${MAX_HISTORY}

${MAX_FILE_SIZE}

${LOG_MSG}

Profile 相关的配置可以参考:

logs/springboot-logback-demo.%d{yyyy-MM-dd}.log

30

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n

參考文档

Logback官网

https://logback.qos.ch/manual/layouts.html#conversionWord

Logback官网 文档

https://logback.qos.ch/manual/index.html

Logback中Encoder Pattern

%d{HH:mm:ss} [%thread][%X{traceId}] %-5level %logger{36} - %msg%n

https://logback.qos.ch/manual/layouts.html#conversionWord

代码示例

@See  https://github.com/realpdai/springboot-logback-demo


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:简单了解JAVA内存区域效果知识
下一篇:Java字段初始化的规律解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~