Documentation ¶
Index ¶
- Constants
- func Configure(tc *Config, svcName string)
- func GetLogger(r *http.Request) logrus.FieldLogger
- func GetLoggerFromContext(ctx context.Context) logrus.FieldLogger
- func Middleware(log logrus.FieldLogger, svcName string) func(http.Handler) http.Handler
- func RequestID(r *http.Request) string
- func SetFinalField(r *http.Request, key string, value interface{}) logrus.FieldLogger
- func SetLogField(r *http.Request, key string, value interface{}) logrus.FieldLogger
- func SetLogFields(r *http.Request, fields logrus.Fields) logrus.FieldLogger
- func TrackRequest(w http.ResponseWriter, r *http.Request, log logrus.FieldLogger, service string, ...)
- func WrapWithSpan(r *http.Request, reqID, service string) (*http.Request, opentracing.Span)
- func WrapWithTracer(r *http.Request, rt *RequestTracer) *http.Request
- type Config
- type RequestTracer
- func (rt *RequestTracer) Finish()
- func (w RequestTracer) Header() http.Header
- func (w RequestTracer) Hijack() (net.Conn, *bufio.ReadWriter, error)
- func (w RequestTracer) OriginalWriter() http.ResponseWriter
- func (rt *RequestTracer) SetLogField(key string, value interface{}) logrus.FieldLogger
- func (rt *RequestTracer) SetLogFields(fields logrus.Fields) logrus.FieldLogger
- func (rt *RequestTracer) Start()
- func (w RequestTracer) Write(in []byte) (int, error)
- func (w RequestTracer) WriteHeader(code int)
Constants ¶
const ( HeaderNFDebugLogging = "X-NF-Debug-Logging" HeaderRequestUUID = "X-BB-CLIENT-REQUEST-UUID" )
Variables ¶
This section is empty.
Functions ¶
func GetLogger ¶
func GetLogger(r *http.Request) logrus.FieldLogger
GetLogger shorthand for GetLoggerFromContext
func GetLoggerFromContext ¶
func GetLoggerFromContext(ctx context.Context) logrus.FieldLogger
GetLoggerFromContext gets the logger from context
func Middleware ¶
Middleware is the tracing middleware used in router
func SetFinalField ¶
func SetFinalField(r *http.Request, key string, value interface{}) logrus.FieldLogger
SetFinalField will add a field to the canonical line created at in Finish. It will add it to this line, but not every log line in between
func SetLogField ¶
func SetLogField(r *http.Request, key string, value interface{}) logrus.FieldLogger
SetLogField will add the field to this log line and every one following
func SetLogFields ¶
SetLogFields will add the fields to this log line and every one following
func TrackRequest ¶
func TrackRequest(w http.ResponseWriter, r *http.Request, log logrus.FieldLogger, service string, next http.Handler)
TrackRequest tracks the request
func WrapWithSpan ¶
func WrapWithTracer ¶
func WrapWithTracer(r *http.Request, rt *RequestTracer) *http.Request
WrapWithTracer wraps a context with TracerContext
Types ¶
type Config ¶
type Config struct { Enabled bool `default:"false"` Host string `default:"localhost"` Port string `default:"8126"` Tags map[string]string }
Config keeps the endpoint
type RequestTracer ¶
type RequestTracer struct { logrus.FieldLogger RequestID string FinalFields map[string]interface{} // contains filtered or unexported fields }
func GetFromContext ¶
func GetFromContext(ctx context.Context) *RequestTracer
GetFromContext returns the tracing context from a context.Context
func GetTracer ¶
func GetTracer(r *http.Request) *RequestTracer
GetTracer shorthand for GetFromContext
func NewTracer ¶
func NewTracer(w http.ResponseWriter, r *http.Request, log logrus.FieldLogger, service string) (http.ResponseWriter, *http.Request, *RequestTracer)
NewTracer creates a new tracer
func (*RequestTracer) Finish ¶
func (rt *RequestTracer) Finish()
func (RequestTracer) OriginalWriter ¶
func (w RequestTracer) OriginalWriter() http.ResponseWriter
func (*RequestTracer) SetLogField ¶
func (rt *RequestTracer) SetLogField(key string, value interface{}) logrus.FieldLogger
func (*RequestTracer) SetLogFields ¶
func (rt *RequestTracer) SetLogFields(fields logrus.Fields) logrus.FieldLogger
func (*RequestTracer) Start ¶
func (rt *RequestTracer) Start()
func (RequestTracer) WriteHeader ¶
func (w RequestTracer) WriteHeader(code int)