spring-boot 将logback和MDC集成

本文介绍了如何在Spring Boot应用中利用Logback配置日志,将性能日志和业务日志分开存储。通过设置logback.xml配置文件,创建两个不同的日志记录器分别用于性能日志和业务日志,使用TimeBasedRollingPolicy进行日志滚动,并通过MDC(Mapped Diagnostic Context)添加请求ID等上下文信息,实现日志的精细化管理。
摘要由CSDN通过智能技术生成

因为公司业务需要,需要把性能日志和业务日志分开打印,用elk收集处理,所以需要对不同的业务的日志,打印到不同文件。

使用的是spring boot自带的logback。

    首先在yml文件配置logback.xml文件,默认会从resources下找logback.xml文件,找不到会从yml文件中找logging.config下的指定文件。

logging:
  level: DEBUG
  config: classpath:logback.xml
    logback.xml是logback的配置文件,可以设置打印文件的路径,格式,过滤打印的级别等等,我们来看一下logback.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<!--根标签-->
<configuration>
    <!--设置变量,name为变量名,value为值,可以使用${变量名}方式使用-->
    <property name="APPDIR" value="log" />
    <property name="LOG_HOME" value="/var/app/logs" />
    <property name="APPNAME" value="app_test" />
    <property name="MDC_LOG_PATTERN"
              value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS} %p app_test %t %logger{50} [line:%L %msg]%n"></property>
 
 
    <!-- 性能日志记录器,日期滚动记录 -->
    <!--当一个记录日志的事件被发起时,logback 会将这个事件发送给 appender-->
    <!--RollingFileAppender,滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件-->
    <appender name="performanceAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 记录的日志文件的路径及文件名 -->
        <file>${LOG_HOME}/${APPNAME}/performanceLog/${APPNAME}.log</file>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <!--TimeBasedRollingPolicy 实现的是基于时间的分包策略,分包间隔是根据fileNamePattern中指定的事件最小单位-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 归档的日志文件的路径,例如今天是2018-12-19日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值