
在 New Relic 中记录 MDC 上下文值
通常情况下,虽然 MDC 值能在本地控制台或日志文件中正常输出,但可能无法在 New Relic 中显示。本文将提供一种解决方案,通过配置 newrelic.yml 文件来启用 Diagnostic Context 的转发,从而使 MDC 值能够正确地记录到 New Relic。
New Relic 提供了一个标志,用于将 Diagnostic Context 转发到 New Relic Agent。我们需要在 newrelic.yml 文件中启用此标志。
打开你的 newrelic.yml 文件,并添加或修改以下配置:
common: &default_settings
# forwad Diagnostic Context to new relic agent
forwarding:
context_data:
enabled: true解释:
注意事项:
虽然上述 newrelic.yml 的配置是关键,但为了确保 MDC 值被正确设置和使用,这里提供一个 Logback 配置示例供参考。请注意,你可能已经有类似的配置,只需确保使用了 NewRelicEncoder 和 NewRelicAsyncAppender。
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.FileAppender">
<file>logs/logback-app.log</file>
<append>false</append>
<encoder class="com.newrelic.logging.logback.NewRelicEncoder">
</encoder>
</appender>
<appender name="ASYNC" class="com.newrelic.logging.logback.NewRelicAsyncAppender">
<appender-ref ref="STDOUT" />
</appender>
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%X{request-id} %d %-5level [%thread] %logger{0}: %msg%n</pattern>
</encoder>
</appender>
<root level="TRACE">
<appender-ref ref="ASYNC" />
<appender-ref ref="Console" />
</root>
</configuration>解释:
通过在 newrelic.yml 文件中启用 Diagnostic Context 的转发,以及正确配置 Logback,可以确保 MDC 上下文值能够正确地记录到 New Relic 中。这对于追踪请求、排查问题以及监控应用性能非常有帮助。 请确保按照上述步骤操作,并根据实际情况进行调整。如果问题仍然存在,请检查 New Relic Agent 的版本和配置,以及 Logback 的依赖是否正确。
以上就是在 New Relic 中记录 MDC 上下文值的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号