假设我有一个端点为 /user/{user_id}/foo
的 REST API。
现在,当它被调用时,我希望来自处理此请求的所有日志都包含有关 {user_id}
的信息。是否可以在不将 {user_id}
传递给每个方法的情况下实现这一目标?
我使用 SLF4j 进行日志记录,我的应用程序基于 Spring Boot。
最佳答案
您也可以为此使用 MDC,请参阅 here .它本质上是一张 map ,您只需将上下文信息放入其中(例如用户 ID),然后您就可以在日志布局中使用它。请注意,这仅适用于某些底层框架,例如 logback,其中示例布局模式如下所示:
<Pattern>%X{user_id} %m%n</Pattern>
检查 logback manual有关这方面的更多详细信息。
关于java - 为每条日志消息添加自定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46526190/