|
package log
|
|
|
|
import (
|
|
"io"
|
|
|
|
kitlog "github.com/go-kit/kit/log"
|
|
)
|
|
|
|
// NewTMJSONLogger returns a Logger that encodes keyvals to the Writer as a
|
|
// single JSON object. Each log event produces no more than one call to
|
|
// w.Write. The passed Writer must be safe for concurrent use by multiple
|
|
// goroutines if the returned Logger will be used concurrently.
|
|
func NewTMJSONLogger(w io.Writer) Logger {
|
|
logger := kitlog.NewJSONLogger(w)
|
|
logger = kitlog.With(logger, "ts", kitlog.DefaultTimestampUTC)
|
|
return &tmLogger{logger}
|
|
}
|
|
|
|
// NewTMJSONLoggerNoTS is the same as NewTMJSONLogger, but without the
|
|
// timestamp.
|
|
func NewTMJSONLoggerNoTS(w io.Writer) Logger {
|
|
logger := kitlog.NewJSONLogger(w)
|
|
return &tmLogger{logger}
|
|
}
|