如何根据请求识别或定义唯一的日志记录ID?

时间:2013-01-16 18:39:01

标签: spring rest logging

我将日志添加到我的休息应用程序中,其中有多个层(控制器,服务,dao ...)。

如何识别或定义每个请求的唯一日志记录ID,以便我可以在一个请求的不同层中使用相同的日志ID? (不在控制器中创建它并将其传递给每一层)

仅供参考:我使用的是log4j

谢谢!

1 个答案:

答案 0 :(得分:1)

在不知道您正在使用哪种日志框架的情况下,很难提供具体的建议。

我通常使用像Log4J的NDC或MDC这样的东西:请求进来,在诊断上下文中标记相关信息,日志格式化程序以对您的应用程序有意义的方式吐出诊断上下文。 / p>

我还经常使用自定义消息格式化程序,以确保DC一致地记录,以供日志文件使用者以后使用。如果它要进入DB /消息队列/等。它可能无关紧要,因为上下文通常可以按原样转储并相应处理。