1package log 2 3import ( 4 "context" 5 6 "github.com/sirupsen/logrus" 7 "go.opencensus.io/trace" 8) 9 10// G returns a `logrus.Entry` with the `TraceID, SpanID` from `ctx` if `ctx` 11// contains an OpenCensus `trace.Span`. 12func G(ctx context.Context) *logrus.Entry { 13 span := trace.FromContext(ctx) 14 if span != nil { 15 sctx := span.SpanContext() 16 return logrus.WithFields(logrus.Fields{ 17 "traceID": sctx.TraceID.String(), 18 "spanID": sctx.SpanID.String(), 19 // "parentSpanID": TODO: JTERRY75 - Try to convince OC to export this? 20 }) 21 } 22 return logrus.NewEntry(logrus.StandardLogger()) 23} 24