From a9c3af22e1ae95675fd2349f42c4652b6a81f511 Mon Sep 17 00:00:00 2001 From: CoderPoet <530871386@qq.com> Date: Wed, 17 Jan 2024 15:24:39 +0800 Subject: [PATCH] fix(logger): check span context --- logging/logrus/hook.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/logging/logrus/hook.go b/logging/logrus/hook.go index 928c3a1..370f619 100644 --- a/logging/logrus/hook.go +++ b/logging/logrus/hook.go @@ -56,15 +56,21 @@ func (h *TraceHook) Fire(entry *logrus.Entry) error { span := trace.SpanFromContext(entry.Context) - // non recording spans do not support modifying - if !span.IsRecording() { + // check span context + spanContext := span.SpanContext() + if !spanContext.IsValid() { return nil } // attach span context to log entry data fields - entry.Data[traceIDKey] = span.SpanContext().TraceID() - entry.Data[spanIDKey] = span.SpanContext().SpanID() - entry.Data[traceFlagsKey] = span.SpanContext().TraceFlags() + entry.Data[traceIDKey] = spanContext.TraceID() + entry.Data[spanIDKey] = spanContext.SpanID() + entry.Data[traceFlagsKey] = spanContext.TraceFlags() + + // non recording spans do not support modifying + if !span.IsRecording() { + return nil + } if entry.Level <= h.cfg.errorSpanLevel { // set span status