UUID randomUUID输出为空

时间:2018-02-02 06:10:32

标签: slf4j uuid

我使用UUID绑定Java中的某些执行,以便我可以在Splunk日志中继续跟踪它。

无论出于什么原因,它都是空的,这是我的代码:

try {
    String taskId = UUID.randomUUID().toString();
    MDC.put("request_id", taskId);
    MDC.put("auth_user", "myservice");

    ** some logic here **
 } finally {
     MDC.clear();
 }

在Splunk中,我看到了:

2018-02-02T00:00:05.905+0000 request_id= user=myservice level=INFO ...

request_id是空的?这是为什么?

代码被部署到多个盒子,我设置了cron作业,每天凌晨3点运行它。为了避免多个实例运行相同的代码,我使用ShedLock锁定代码,这保证只有一个框可以运行代码,到完成时,它通过了cron作业中安排的时间,我确保代码是每天只有一个盒子执行一次。

更新: 原来logback.xml中的设置是错误的,这里是之前的:

<property name="APPLICATION_PATTERN"
            value="%date{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSZ&quot;, UTC} request_id=%mdc{requestId} user=%mdc{auth_user} level=%-5level logger=%logger %msg%n"/>

预计mdc {requestId}不是mdc {request_id}

0 个答案:

没有答案