繁体   English   中英

如何在Java中获取线程ID

[英]How to get thread ID in Java

我可以按如下方式指定 log4j 格式化程序以在 spring mvc 应用程序中打印当前线程 ID

log4j.appender.FILE.layout.ConversionPattern=%d{ISO8601} %p %t %c - %m%n

如何以编程方式获取 Spring 应用程序中的当前线程 ID。 更准确地说,我想在拦截控制器方法的方面获取当前线程 ID。 我的方面如下:

@Configurable
@Aspect
public class TimingAspect {

    @Autowired
    private HttpServletRequest httpServletRequest;

    //Generic performance logger for any mothod
    private Object logPerfomanceInfo(ProceedingJoinPoint joinPoint) {
       // do something with thread id
       // do something with httprequest
        ...
    }

    // Performance info for API calls
    @Around("execution(* package.controller.*.*(..))")
    public Object logAroundApis(ProceedingJoinPoint joinPoint) throws Throwable {
        return logPerfomanceInfo(joinPoint);
    }
}

我希望我能正确理解你的问题,这就是你要找的:

Thread.currentThread().getId()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM