OpenTelementry 增强版 Java 探针

最近更新时间:2024-05-20 14:17:51

我的收藏
通过腾讯云 OpenTelementry 增强版 Java 探针接入 APM 后,可在应用日志中轻松输出上下文 TraceID 和 SpanID,只需要修改日志配置文件中的 pattern, 即可实现 TraceID 和 SpanID 的注入。OpenTelementry 增强版 Java 探针的日志注入功能支持如下日志框架:
Log4j 1.2+
Log4j2 2.7+
Logback 1.0+
在日志配置文件中,TraceID 和 SpanID 分别使用 %X{trace_id}%X{span_id}字段注入,如果上下文没有TraceID 或 SpanID,不会影响整行日志的输出。

Log4j

log4j.properties 文件修改示例:
log4j.appender.warn.layout=org.apache.log4j.PatternLayout
log4j.appender.warn.layout.ConversionPattern=traceId: %X{trace_id} spanId: %X{span_id} - %m%n

Log4j2

Log4j2支持多种格式配置文件,包括 XML、Json、YAML、Properties 等。以 XML 格式为例,Pattern 有多种写法,请根据已有的写法参考其中一种:
方式一
方式二
方式三
<PatternLayout pattern="traceId: %X{trace_id} spanId: %X{span_id} - %m%n"/>
<PatternLayout>
<Pattern>traceId: %X{trace_id} spanId: %X{span_id} - %m%n</Pattern>
</PatternLayout>
<Layout type="PatternLayout" pattern="traceId: %X{trace_id} spanId: %X{span_id} - %m%n"/>

Logback

logback.xml 文件修改示例:
<encoder>
<pattern>traceId: %X{trace_id} spanId: %X{span_id} %msg%n</pattern>
</encoder>

输出效果

当上下文存在 TraceID 和 SpanID 时:



当上下文不存在 TraceID 和 SpanID 时: