当前位置: 首页 > 知识库问答 >
问题:

如何用Spring Sleuth 2.0记录MDC?

闾丘鸣
2023-03-14

参考如何用Spring Sleuth记录MDC中的Question/Answer?我认为spring-cloud 2.0已经/将要改变(d),因为不再有spanloggerslf4jspanlogger(或者我找不到)

如果应用程序属性spring.sleuth.baggage-keysspring.sleuth.propagation-keys(如果set)也放在MDC中,那不是很好吗?我认为在slf4jcurrenttraceContext中(因为这个类目前是final,我不能子类它)

如果没有,我如何用Spring-Cloud2.0相应地实现这一点?

共有1个答案

范建华
2023-03-14

我们不想把所有条目都放在MDC中(这真的没有太多意义)。但是,您可以复制SLF4JCurrentTraceContext并以您想要的方式对其进行扩展(并将其注册为bean),也可以创建自己的CurrentTraceContext实现,通过bean后处理程序包装现有的CurrentTraceContext并执行其他逻辑。我想第一种选择更可取。

 类似资料:
  • 我有一个基于Spring boot sleuth的应用程序。一切正常。我现在有这样的日志: 现在,我想将自定义MDC添加到我的日志中,例如合同引用。我想要这样的日志: 我尝试了各种方法,但都没有成功: 使用Spring Sleuth Tracer添加标签; 使用MDC. put(xxx, xxx)将logging.pattern.level=%5p%mdc添加到我的application.prop

  • Java16引入了记录,这有助于在编写携带不可变数据的类时减少样板代码。当我尝试将记录用作bean时,我得到以下错误消息: 如何将记录用作?

  • 但是Crawler4J中有一个记录器。 如何禁用记录器内部爬行4J库?

  • 我将事件发送到AWS Kinesis,这些事件由AWS lambda函数处理。但是,如果lambda抛出一些错误,则不会丢弃记录,并且会一次又一次地进行处理,从而阻止处理新记录。 我宁愿跳过错误的记录,消化新的记录。我不知道该怎么做。 lambda函数捕获任何异常,因此不应给出任何执行错误。 下面是python中的片段。 我知道lambda应该在“保留”期间重试(默认为24小时),但我希望放弃并最

  • 问题内容: 我有一些使用该软件包的工具化代码。现在该关闭日志记录了,我无法确定如何关闭标准记录器。 我错过了什么吗?我应该在进行日志调用之前检查标志,还是在生产中将其注释掉? 问题答案: 要完全禁用日志,最好调用Joril并将输出设置为无操作(例如) 但即使在此之后,操作仍将闲置约500-600 ns / op 1 这仍然可切断短路(左右 为100 ns / OP )通过使用自定义的实现,并实现所

  • 问题内容: 如何使用Python的文档字符串使用参数记录方法? 编辑: PEP 257给出了这个例子: 这是大多数Python开发人员使用的约定吗? 我期待一些更正式的东西,例如 环境 :Python 2.7.1 问题答案: 根据我的经验,numpy的文档字符串公约(PEP257超集)是最广泛的传播 遵循 惯例,它们也通过工具,如支持的狮身人面像。 一个例子: