首页 > Java > java教程 > 正文

在 New Relic 中记录 MDC 上下文值

霞舞
发布: 2025-09-26 19:55:00
原创
618人浏览过

在 new relic 中记录 mdc 上下文值

在 New Relic 中记录 MDC 上下文值

通常情况下,虽然 MDC 值能在本地控制台或日志文件中正常输出,但可能无法在 New Relic 中显示。本文将提供一种解决方案,通过配置 newrelic.yml 文件来启用 Diagnostic Context 的转发,从而使 MDC 值能够正确地记录到 New Relic。

配置 newrelic.yml 文件

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
登录后复制

解释:

喵记多
喵记多

喵记多 - 自带助理的 AI 笔记

喵记多 27
查看详情 喵记多
  • common: 定义了通用配置。
  • forwarding: 定义了转发相关的配置。
  • context_data: 定义了上下文数据转发的配置。
  • enabled: true: 启用 Diagnostic Context 的转发。

注意事项:

  • 确保你的 newrelic.yml 文件位于 Spring Boot 项目的正确位置(通常是 src/main/resources 目录下)。
  • 确保 New Relic Agent 已正确安装并配置。
  • 修改 newrelic.yml 文件后,需要重启 Spring Boot 应用才能使配置生效。

示例 Logback 配置 (logback.xml)

虽然上述 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>
登录后复制

解释:

  • NewRelicEncoder: 使用 New Relic 提供的编码器来格式化日志消息,以便 New Relic Agent 可以正确解析和收集。
  • NewRelicAsyncAppender: 使用异步 appender 来提高性能,避免阻塞主线程。

总结

通过在 newrelic.yml 文件中启用 Diagnostic Context 的转发,以及正确配置 Logback,可以确保 MDC 上下文值能够正确地记录到 New Relic 中。这对于追踪请求、排查问题以及监控应用性能非常有帮助。 请确保按照上述步骤操作,并根据实际情况进行调整。如果问题仍然存在,请检查 New Relic Agent 的版本和配置,以及 Logback 的依赖是否正确。

以上就是在 New Relic 中记录 MDC 上下文值的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号