我有一个在Dropwizard中配置了logging
和requestLog
的应用程序。在logging
日志文件中,我使用带回送的sl4j从代码中获取堆栈跟踪等。同样在requestLog中,我获得了每个入站请求,完整url,标头,requestBody等的所有上下文。
唯一的问题是我没有一种干净的方法来链接两者。如果我在logging
日志中有一个堆栈跟踪,它将把我指向代码中断的地方,但是对于导致问题的原因我没有上下文,因此可以很好地获得请求,这样我就可以准确地重现问题。
我通过使用过滤器将UUID添加到logging
日志中来解决了这个问题,并且使用该UUID创建了响应标头,如果我将Dropwizard配置为输出响应标头,该响应标头将记录UUID。我使用响应标头的原因是因为requestLog的格式是预定义的,并且我无法使用Dropwizard日志记录库按原样添加自定义数据。我知道我可以编写自定义的Appender,但我希望避免这样做。
关于如何使用Dropwizard的开箱即用功能进行操作的任何想法?