Spring Boot Logback配置日志过程解析

本文详述了Spring Boot使用Logback配置日志的过程,包括日志路径、级别、按天回滚、保留天数及Pattern定制。强调了在Pattern中添加MDC字段以记录用户和请求信息,并根据环境配置不同Profile。提供了配置示例和相关文档链接。
摘要由CSDN通过智能技术生成

这篇文章主要介绍了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

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

  <!-- 日志根目录-->
  <springProperty scope="context" name="LOG_HOME" source="logging.path" defaultValue="/data/logs/springboot-logback-demo"/>

  <!-- 日志级别 -->
  <springProperty scope="context" name="LOG_ROOT_LEVEL" source="logging.level.root" defaultValue="DEBUG"/>

  <!-- 标识这个"STDOUT" 将会添加到这个logger -->
  <springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/>

  <!-- 日志文件名称-->
  <property name="LOG_PREFIX" value="spring-boot-logback" />

  <!-- 日志文件编码-->
  <property name="LOG_CHARSET" value="UTF-8" />

  <!-- 日志文件路径+日期-->
  <property name="LOG_DIR" value="${LOG_HOME}/%d{yyyyMMdd}" />

  <!--对日志进行格式化--&g
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值