问题标签 [mdc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
44 浏览

java - Spring bom使用错误

MDCused的先前实现

现在打算用

但是以前工作的代码:

上面的行给出了错误:

请建议。

0 投票
1 回答
402 浏览

java - java.util.logging 框架使用 BasicMDCAdapter 类的示例代码

我基本上是在尝试在 java.util.logging 框架中添加 MDC 支持,而不使用任何 slf4j 到 JUL 桥接替代方案。在 BasicMDCAdapter 的 Javadoc 中提到“基本 MDC 实现,可用于缺乏开箱即用 MDC 支持的日志系统”。

我似乎找不到任何可以帮助我的样本。谁能告诉我如何利用 BasicMDCAdapter 类在 JUL 中添加 MDC 支持。

任何帮助将不胜感激。

0 投票
1 回答
2593 浏览

go - 带有映射诊断上下文的 Golang 日志记录

如何 在 GoLang 中实现MDC Logging (Java)?

我需要在所有服务器日志中添加 UUID,以便能够跟踪并发请求。

0 投票
2 回答
1897 浏览

node.js - 在 node.js 中按 ID 跟踪请求流

在我的 node.js 应用程序中,每当我收到请求时,我想用一些唯一 ID “标记”它,并能够通过此 ID 跟踪与此请求相关的所有活动(日志语句)。因此,当请求进入并将其传递给较低的应用程序层(服务、数据库调用等)时,我希望能够收集与给定请求 ID 匹配的所有日志,以重建其通过应用程序的旅程。

所以有了这张图片,我现在使用request-local模块,但它做了一些让我失败的重魔法(来自多个请求的日志获得相同的 ID)。

代码主要基于 Promises(不是普通的旧节点回调),我使用高阶函数来为我的实际函数提供依赖关系(在启动期间构建应用程序树)。

第一个也是非常明显的解决方案是将此请求 ID 传递给每个调用的函数,但这是一场灾难,我不会这样做。

您如何(可靠地)进行这种请求跟踪,而不显式将此 id/context 作为额外参数传递给所有级别的函数?

0 投票
1 回答
1398 浏览

docker - Docker GELF 记录附加字段

我正在尝试使用 GELF 协议让我的 docker-compose 文件将其日志记录写入 Graylog 服务器。这很好用,使用以下配置(docker-compose.yml 的片段):

Graylog 服务器接收我在 Docker 容器中登录 JBoss 实例的消息。它还添加了一些额外的 GELF 字段,例如 container_name 和 image_name。

我的问题是,我如何自己添加额外的 GELF 字段?我希望它将 _username 作为额外字段传递。我在我的 MDC 上下文中提供了这个字段。我可以通过在我的 CONSOLE 记录器中使用格式化程序(转换模式)将信息添加到消息中,方法是将以下内容添加到此记录器中:

但这不是我想要的,因为它将在 GELF 消息字段中,而不是作为单独的额外字段添加。

有什么想法吗?

0 投票
1 回答
915 浏览

java - Spark 应用程序和日志记录 MDC(映射诊断上下文)

我正在寻找一种方法,将我的司机的 MDC 转发给主人和工人,这样我就可以识别来自同一操作的消息?例如,我有一个依赖于应用程序的查询/作业 ID,我希望将其附加到我的 spark 工作者中的结构化日志消息中。

  • 不可能的?
  • 无证?
  • 容易,但我是愚蠢的找到?

问候。

0 投票
1 回答
1474 浏览

java - 如果我不从 MDC 中删除上下文数据会怎样?

我知道,MDC 是一个映射,它存储上下文运行的特定线程的上下文数据。我正在运行的情况是,我希望每个日志语句都应该打印某些数据,这些数据不限于任何特定线程,而是特定于应用程序,例如。我的应用程序正在运行的当前节点名称。所以我在 MDC 中添加了节点名称

MDC.put("source",source_name);

由于它是特定于应用程序的,我不想将其从 MDC 中删除(如果我的应用程序由于某种原因出现故障,如果我没有错,任何方式 MDC 都会被清除)。

只是想知道,如果我不从 MDC 中删除密钥会发生什么以及它将如何影响我的应用程序?会有任何内存泄漏或类似的东西吗?

0 投票
1 回答
500 浏览

scala - 使用 slf4j 传播 MDC

我在基于 akka 的应用程序中使用 slf4j,并使用它的 MDC 功能来记录上下文信息。我有一个基础演员,他从一组演员发送和接收消息,这些演员又与另一个演员进行通信,依此类推。如何将基础 Actor 中的 MDC 设置传播给其他 Actor?我想避免使用其他框架,如 Play。

0 投票
1 回答
1281 浏览

node.js - 使用 log4j 在 Nodejs 中添加 MDC,无需外部库

我在 nodejs 中面临一个问题,我必须在元数据的日志中打印用户名。每个请求都有自己的用户名,并且 nodejs 是异步的,它覆盖了我为单例日志创建的用户名属性。

我已阅读有关 continous-local-storage 的信息,但我正在寻找一种更简单的解决方案,而不需要任何外部库。

是否建议为每个请求创建一个单独的日志实例?

PS:我对 Node js 很陌生!

0 投票
1 回答
2956 浏览

java - slfj4 日志记录 - MDC.put 函数不打印任何内容

我正在尝试使用 slfj4 MDC 类在日志中打印已登录的用户名及其 ID。这是我的代码,请告诉我我错在哪里。

JAVA 文件 -

XML 属性文件 - logback.xml -

请告诉我我还需要什么或我错在哪里。任何帮助表示赞赏。先感谢您。