Spring Boot Logback配置日志过程解析
这篇文章主要介绍了SpringBootLogback配置日志过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
出于性能等原因,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
%msg|%n"/> ${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-ddHH: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中EncoderPattern
%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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。