【问题标题】:MDC logging in vertxvertx 中的 MDC 日志记录
【发布时间】:2019-02-22 10:12:07
【问题描述】:

我计划在使用 vertx 框架的 rest 应用程序中使用 slf4j MDC。我在某处读到你不应该在 vertx 中使用 MDC,因为 MDC 是线程特定的,而 vertx 是线程不可知的。但是我在从一个verticles调用的服务开始时设置MDC变量,最后调用MDC.clear()。你看到这有什么问题吗。我认为它将在一个线程内 - 一个 Verticle 的端到端事件处理。

【问题讨论】:

  • 我知道 MDC,但我不知道 Vert.X 框架。我的猜测是它会起作用,但是是什么阻止了您进行测试呢?这不应该是太多的工作,如果有什么不对劲,你会很快注意到。
  • 我测试过,本地没有问题。我更担心在生产中。我们将在日志中包含相关 ID,并且日志将在 ELK 中,并且相关 ID 对性能、故障排除至关重要。

标签: java slf4j vert.x mdc vertx-verticle


【解决方案1】:

如前所述,MDC 依赖于ThreadLocal,因此异步框架无法使用它。

有一个重复的问题here 有一些建议,但似乎在异步框架中没有通用的 MDC 等效机制。

【讨论】:

    猜你喜欢
    • 2019-01-31
    • 2019-03-04
    • 2012-03-24
    • 1970-01-01
    • 2014-09-27
    • 2021-12-22
    • 1970-01-01
    • 2015-07-17
    • 2021-06-26
    相关资源
    最近更新 更多