如何使用 Spring Sleuth 记录 MDC?

2024-01-02

我有一个基于 Spring boot + sleuth 的应用程序。一切都按预期进行。我现在有这样的日志:

2017-05-04 17:55:52.226  INFO [alert,692d0eeca479e216,c3c8b680dc29ad02,false] 17292 --- [cTaskExecutor-1] c.k.a.b.s.alert.impl.AlertServiceImpl    : Alert state to process: xxx

现在,我想将自定义 MDC 添加到我的日志中,例如合同参考。我想要这样的日志:

2017-05-04 17:55:52.226  INFO [alert,692d0eeca479e216,c3c8b680dc29ad02,false] [CONTRACT_REF] 17292 --- [cTaskExecutor-1] c.k.a.b.s.alert.impl.AlertServiceImpl    : Alert state to process: xxx

我尝试了各种方法但没有成功:

  1. 使用 Spring Sleuth Tracer 添加标签;
  2. 使用 MDC.put(xxx, xxx) 将logging.pattern.level=%5p %mdc 添加到我的 application.properties 文件

如何将自定义 MDC/标签添加到我的日志中?


对于 2.x 之前的版本,您必须创建自己的实现SpanLogger。最简单的方法是延长Slf4jSpanLogger并提供您自己的代码来添加/更新和删除 MDC 上下文中的条目。然后您可以更改日志记录模式,这样您的日志将包含他们需要的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Spring Sleuth 记录 MDC? 的相关文章

随机推荐

  • Ipython笔记本缓存问题

    在 ipython 笔记本中 我调用从我自己的模块导入的函数并运行一些代码 我注意到 如果我更改函数中的代码 在笔记本之外 并执行笔记本 则旧版本的函数将运行 当我记得时 ipython笔记本或firefox似乎正在缓存我可以用ctrl F
  • Python Byte 不打印二进制

    当我在 Python 中打印这样的程序时 x b francis 输出是b francis 如果字节在0 s and 1为什么它不打印出来 你似乎从根本上感到困惑 以一种非常常见的方式 数据本身是一个不同的概念表示 即当您尝试时所看到的pr
  • 页面滚动结束时的 jQuery 回调

    我有一个 div 标签 在 css 中设置为 overflow scroll 我有一个回调 应该在使用它找到的元素的滚动末尾调用 details scroll function if this height this get 0 scrol
  • 未找到 Android 方面,使用 Android Studio 0.2 进行编译时出现问题

    因此 遵循这篇 SO 帖子的建议 抱歉 我会在那里发表评论 希望我没有足够的声誉 Gradle 失败 无法确定要执行哪些任务 https stackoverflow com questions 17614477 gradle failure
  • vc++编译错误RC:致命错误RC1107:无效用法;使用RC /?为了

    我在构建 vc 项目时遇到以下错误 使用 Visual Studio 2010 RC 致命错误 RC1107 无效使用 使用RC 为了 我知道构建资源时存在一些问题 但如何获得确切的问题区域 Thanks 解决方案 在最后一个包含路径中添加
  • 简单的旋转悬停效果不起作用

    我正在尝试创建一个简单的效果 以便当我将鼠标悬停在最内圈时 两个外环旋转以创建很酷的效果 我认为这将是一项简单的任务 但我似乎无法弄清楚我做错了什么 当我将鼠标悬停在内圈上时 所有变化都是两个内圈向屏幕右下角移动 根本不旋转 我在这里缺少什
  • yii2 作曲家更新错误:版本字符串“2.*”无效

    我正在使用作曲家更新Yii2项目 但它正在退出但有异常 我已经将composer更新到最新版本 c6cc6dd6070871f4b198ed39f76dd8047c116b02 但它仍然不起作用 Importing tag v2 0 2 2
  • 何时在 C++ 中使用指针

    我刚刚开始学习C 中的指针 我不太确定何时使用指针 何时使用实际对象 例如 在我的一项作业中 我们必须构造一个 gPolyline 类 其中每个点都由一个 gVector 定义 现在 我的 gPolyline 类变量如下所示 private
  • 如何在索引列的查询中使用限制而不扫描所有行?

    这是我的桌子 在我的桌子上 Clustering key 主键和自增量 ID 索引栏 Data 文本数据类型列 Position 索引栏 维持顺序Data 我的表有 90 000 行 内容相同ID等于 5 我想要前 3 行ID等于 5 我的
  • 如何使用 Twitter Bootstrap 2 获得 16 列响应式布局?

    我从各种论坛帖子中收到混合信号 它是否通过更改而本地存在 Default 940px grid gridColumns 12 gridColumnWidth 60px gridGutterWidth 20px gridRowWidth gr
  • 如何向 cats-effect 的资源添加正确的错误处理

    我正在尝试使用纯功能性方式获取一些基本文件 IO 写 读 猫效应 https typelevel org cats effect 关注后this https typelevel org cats effect tutorial tutori
  • SNS 到 Lambda 与 SNS 到 SQS 到 Lambda

    如果有人可以帮助解释 我想了解我的工作流程中是否需要 SQS 在我的应用程序中 当采取操作时 它会将信息提交到 SNS 主题 该主题调用 Lambda 进行一些处理 这效果很好 当我在线研究时 似乎人们也在这个堆栈中使用 SQS 其中 SN
  • 来自 csv 文件的 Unicode 表情符号在 python 中

    我有一些用户推文的 csv 数据 在excel中显示如下 It felt like they were my friends and I was living the story with them retired IAN1 我已将此 cs
  • 在 WebSphere Application Server 7.0 上设置 URL 资源?

    我需要在 WebSphere 中设置 URL 资源 如下所示this http www ibm com developerworks websphere library techarticles 0502 botzum 0502 botzu
  • 使用nodejs Dynamodb 创建表?

    我想创建一个表 并想使用 Dynamodb NodeJs 创建 6 7 列 属性 我已经创建了一个表 但无法添加超过 2 个属性 我是这个平台的新手 任何人都可以帮助我在一个表中创建多个属性 在 DynamoDB 上 您必须仅定义Hash
  • DataGridView 完整显示单元格内容

    我正在用数据填充 datagridview 并且数据在每个单元格中并不完全可见 如何显示所有包含 Enter 键的内容 这将完整地显示单元格内容 DataGridView1 AutoSizeRowsMode DataGridViewAuto
  • PHP:加密/解密短字符串

    我需要加密和解密短字符串 例如 product1234 我已将 mcrypt encrypt 和 mcrypt decrypt 与各种密码一起使用 问题在于 它总是将扩展字符放入结果字符串中 这会导致我无法控制的应用程序代码的某些方面出现一
  • Xcode 警告:不可变属性不会被解码,因为它是用无法覆盖的初始值声明的

    运行 Xcode 12 我的 Swift 5 Xcode 项目现在每当Decodable or Codable类型声明一个let具有初始值的常数 struct ExampleItem Decodable let number Int 42
  • 设置混合模式来绘制笔划?

    我查了一下 认为我的问题的答案是 否 但这里是 使用 Javascript 和 canvas 标签 我可以用以下命令绘制漂亮的 alpha 混合线stroke 这很有趣 但我想通过设置笔画的混合模式来更进一步 例如 看起来它正在使用经典的
  • 如何使用 Spring Sleuth 记录 MDC?

    我有一个基于 Spring boot sleuth 的应用程序 一切都按预期进行 我现在有这样的日志 2017 05 04 17 55 52 226 INFO alert 692d0eeca479e216 c3c8b680dc29ad02