xxl-job定时任务增加链式日志id

本文介绍了如何在XXL-Job框架中使用AspectJ进行切面编程,为任务执行添加链式日志ID,并在logback.xml中配置输出格式,以便于跟踪和分析。
摘要由CSDN通过智能技术生成

一、引入切面依赖

自己选择需要的版本

        <!-- 切面 -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectjweaver.version}</version>
        </dependency>

二、增加配置

import java.util.UUID;

import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.MDC;
import org.springframework.stereotype.Component;

/**
 * xxl-job 日志id配置
 *
 * @author July
 * @date 2024-04-16 11:09
 **/
@Slf4j
@Aspect
@Component
public class TraceLogAopConfig {
    private static final String TRACE_LOG_ID = "logId";

    /**
     * xxl-job 切点
     */
    @Pointcut("@annotation(com.xxl.job.core.handler.annotation.XxlJob)")
    public void pointCutExecution() {}

    @Before("pointCutExecution()")
    public void doBefore(JoinPoint point) {
        // 增加xxl-job任务的链式日志id
        MDC.put(TRACE_LOG_ID, UUID.randomUUID().toString().replace("-", ""));
    }

    @After("pointCutExecution()")
    public void doAfter(JoinPoint point) {
        // xxl-job任务结束,MDC移除
        MDC.remove(TRACE_LOG_ID);
    }
}

三、logback.xml配置

在合适位置添加 [%X{logId}] , 也可以叫其他的,和配置相同即可

<property name="LOG_CONSOLE_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-20thread] %magenta(%-5level) %green([%-90.100class] [%X{logId}]) >>> %cyan(%msg) %n"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值