打印同一个请求线程日志ThreadLocal、脱敏日志

本文介绍了一个实用的Java工具类,用于在线程中存储和获取唯一业务标识符,以便于日志管理和跟踪。同时,展示了如何使用正则表达式进行数据脱敏处理,保护敏感信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class LogBusinessIdUtils {
   private static final ThreadLocal<String> businessLocal = new ThreadLocal<String>();    
    /**
     * 返回当前线程对应的uuid
     * @return
     */
    public static String getCurBusinessId(){
        String uuid = businessLocal.get();
        if(StringUtils.isEmpty(uuid)){          
            uuid = UUID.randomUUID().toString().replace("-", "");
            businessLocal.set(uuid);
        }
        return uuid;
    }
   
    
    /**
     * 给当前线程重新设置
     */
    public static void clear(){
        businessLocal.set(null);
    }
}

打印日志 log.error("业务标示ID["+LogBusinessIdUtils.getCurBusinessId()+"],"+str)

脱敏  

String.valueOf(object).replaceAll("(?<=(mobile|mobileNo|phone|address|name|bank|taxId|acount)\\\\?\"?:\\\\?\"?)(\\d|\\w|[\\u4e00-\\u9fa5])+(?=)", "***");

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值