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