Go 如何将整个日志发送到jaeger span
有没有办法将应用程序提供的std日志和错误放在一个范围内 我知道我可以使用Go 如何将整个日志发送到jaeger span,go,jaeger,Go,Jaeger,有没有办法将应用程序提供的std日志和错误放在一个范围内 我知道我可以使用span.LogKV()或span.LogFields()发送一些日志,但是当应用程序记录器和span记录器都有相同的日志时,这会使代码看起来很糟糕 我正在寻找一种自动方式将所有日志放入相应的span。如果您使用带自动配置的spring boot,则使用log4j打印的日志将在span中自动插入并发送。如果您使用带自动配置的spring boot,使用log4j打印的日志将在span中自动检测和发送。在Go中,这不是很简单
span.LogKV()
或span.LogFields()
发送一些日志,但是当应用程序记录器和span记录器都有相同的日志时,这会使代码看起来很糟糕
我正在寻找一种自动方式将所有日志放入相应的span。如果您使用带自动配置的spring boot,则使用log4j打印的日志将在span中自动插入并发送。如果您使用带自动配置的spring boot,使用log4j打印的日志将在span中自动检测和发送。在Go中,这不是很简单,主要取决于您使用的日志库及其提供的接口。一个示例在Jaeger存储库中的中实现,并在中描述。它在下面使用
go.uber.org/zap
日志库,并允许编写接受上下文参数的日志语句:
logger.For(ctx).Info(
“搜索附近的司机”,
字符串(“位置”,位置),
)
幕后logger.For(ctx)
捕获当前跟踪范围,并将所有日志语句添加到该范围,然后像往常一样发送到stdout
据我所知,go.uber.org/zap
还不支持这种本机登录模式,因此需要一个包装器
如果使用另一个日志库,而不是高级日志库,则需要这样做:
Span.LogKV()
或类似API将日志消息写入Span在Go中,这不是很简单,主要取决于您使用的日志库及其提供的接口。一个示例在Jaeger存储库中的中实现,并在中描述。它在下面使用
go.uber.org/zap
日志库,并允许编写接受上下文参数的日志语句:
logger.For(ctx).Info(
“搜索附近的司机”,
字符串(“位置”,位置),
)
幕后logger.For(ctx)
捕获当前跟踪范围,并将所有日志语句添加到该范围,然后像往常一样发送到stdout
据我所知,go.uber.org/zap
还不支持这种本机登录模式,因此需要一个包装器
如果使用另一个日志库,而不是高级日志库,则需要这样做:
Span.LogKV()
或类似API将日志消息写入Span