【发布时间】:2019-09-30 06:43:26
【问题描述】:
我正在使用 slf4j 和 logback 为我的一组微服务提供日志记录服务。
我想确保我添加到 MDC 的任何条目总是具有小写名称,因此我正在研究用类似的实现替换 LogBackMDCAdapter 类,该实现只是强制键名称为小写。
这是一种明智的做法吗?如果是,我如何让我的 MDC 适配器优先使用 Logback 版本?
【问题讨论】:
-
只需创建转换属性名称的包装器。
-
感谢@talex - 但这不会阻止开发人员直接调用
MDC.put("KEY","value"),我正在努力防范 -
你有理由这样做吗?强制小写键似乎是一个奇怪的问题。
-
我想向 MDC 添加一个消息 ID,然后将该消息 ID 传播到任何其他被调用的微服务。在 HTTP 调用的情况下,我将它们作为请求标头传递,并且我正在运行的 servlet 容器始终强制请求标头名称为小写。因此,如果我向
messageId的 MDC 添加一个值,它会在它进入我的下游微服务时转换为messageid。 -
确保同时删除
_字符,因为有时它不起作用 stackoverflow.com/questions/22856136/…
标签: java slf4j logback-classic