X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/91b39ff3fbba69e54a330a7949c9ed4bbb3117ff..469521bb7ea65a68f04a7595d3b6b10264026db6:/sdk/go/ctxlog/log.go diff --git a/sdk/go/ctxlog/log.go b/sdk/go/ctxlog/log.go index e66eeadee1..e888f3151b 100644 --- a/sdk/go/ctxlog/log.go +++ b/sdk/go/ctxlog/log.go @@ -11,7 +11,6 @@ import ( "os" "github.com/sirupsen/logrus" - check "gopkg.in/check.v1" ) var ( @@ -41,7 +40,7 @@ func FromContext(ctx context.Context) logrus.FieldLogger { // New returns a new logger with the indicated format and // level. -func New(out io.Writer, format, level string) logrus.FieldLogger { +func New(out io.Writer, format, level string) *logrus.Logger { logger := logrus.New() logger.Out = out setFormat(logger, format) @@ -49,7 +48,7 @@ func New(out io.Writer, format, level string) logrus.FieldLogger { return logger } -func TestLogger(c *check.C) logrus.FieldLogger { +func TestLogger(c interface{ Log(...interface{}) }) *logrus.Logger { logger := logrus.New() logger.Out = &logWriter{c.Log} setFormat(logger, "text") @@ -61,6 +60,12 @@ func TestLogger(c *check.C) logrus.FieldLogger { return logger } +// LogWriter returns an io.Writer that writes to the given log func, +// which is typically (*check.C).Log(). +func LogWriter(log func(...interface{})) io.Writer { + return &logWriter{log} +} + // SetLevel sets the current logging level. See logrus for level // names. func SetLevel(level string) { @@ -88,6 +93,11 @@ func setFormat(logger *logrus.Logger, format string) { FullTimestamp: true, TimestampFormat: rfc3339NanoFixed, } + case "plain": + logger.Formatter = &logrus.TextFormatter{ + DisableColors: true, + DisableTimestamp: true, + } case "json", "": logger.Formatter = &logrus.JSONFormatter{ TimestampFormat: rfc3339NanoFixed,