Files
weave-scope/vendor/github.com/weaveworks/weave/common/logging.go
Marc Carré 179a93b418 Update weaveworks/weave to 4da998ab (which removes Sirupsen/logrus)
```
$ gvt delete github.com/weaveworks/weave/common
$ gvt fetch --revision 4da998ab4507b6a4852bf341b5df68eb7fca8a57 github.com/weaveworks/weave/common
2018/07/23 17:21:52 Fetching: github.com/weaveworks/weave/common
2018/07/23 17:22:05 · Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/fsouza/go-dockerclient
2018/07/23 17:22:05 ·· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/archive
2018/07/23 17:22:05 ··· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/system
2018/07/23 17:22:05 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/opencontainers/image-spec/specs-go/v1
2018/07/23 17:22:05 ····· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/opencontainers/go-digest
2018/07/23 17:22:05 ····· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/opencontainers/image-spec/specs-go
2018/07/23 17:22:05 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/golang.org/x/sys/unix
2018/07/23 17:22:05 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/go-units
2018/07/23 17:22:05 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/containerd/continuity/pathdriver
2018/07/23 17:22:05 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/Microsoft/go-winio
2018/07/23 17:22:05 ····· Fetching recursive dependency: github.com/weaveworks/weave/vendor/golang.org/x/sys/windows
2018/07/23 17:22:05 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/mount
2018/07/23 17:22:05 ····· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/sirupsen/logrus
2018/07/23 17:22:05 ······ Fetching recursive dependency: github.com/weaveworks/weave/vendor/golang.org/x/crypto/ssh/terminal
2018/07/23 17:22:06 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/pkg/errors
2018/07/23 17:22:06 ··· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/longpath
2018/07/23 17:22:06 ··· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/idtools
2018/07/23 17:22:06 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/opencontainers/runc/libcontainer/user
2018/07/23 17:22:06 ··· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/fileutils
2018/07/23 17:22:06 ··· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/pools
2018/07/23 17:22:06 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/ioutils
2018/07/23 17:22:06 ····· Fetching recursive dependency: github.com/weaveworks/weave/vendor/golang.org/x/net/context
2018/07/23 17:22:06 ··· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/opencontainers/runc/libcontainer/system
2018/07/23 17:22:06 ·· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/opts
2018/07/23 17:22:06 ··· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/api/types
2018/07/23 17:22:06 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/gogo/protobuf/proto
2018/07/23 17:22:06 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/go-connections/nat
2018/07/23 17:22:06 ·· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/stdcopy
2018/07/23 17:22:06 ·· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/homedir
2018/07/23 17:22:06 ·· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/jsonmessage
2018/07/23 17:22:06 ··· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/Nvveen/Gotty
2018/07/23 17:22:06 ··· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/docker/docker/pkg/term
2018/07/23 17:22:06 ···· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/Azure/go-ansiterm/winterm
2018/07/23 17:22:06 ····· Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/Azure/go-ansiterm
2018/07/23 17:22:06 · Fetching recursive dependency: github.com/weaveworks/weave/vendor/github.com/weaveworks/go-odp/odp
```
2018-07-23 20:10:17 +02:00

88 lines
1.6 KiB
Go

package common
import (
"bytes"
"fmt"
"log"
"strings"
"github.com/sirupsen/logrus"
)
type textFormatter struct {
}
// Based off logrus.TextFormatter, which behaves completely
// differently when you don't want colored output
func (f *textFormatter) Format(entry *logrus.Entry) ([]byte, error) {
b := &bytes.Buffer{}
levelText := strings.ToUpper(entry.Level.String())[0:4]
timeStamp := entry.Time.Format("2006/01/02 15:04:05.000000")
if len(entry.Data) > 0 {
fmt.Fprintf(b, "%s: %s %-44s ", levelText, timeStamp, entry.Message)
for k, v := range entry.Data {
fmt.Fprintf(b, " %s=%v", k, v)
}
} else {
// No padding when there's no fields
fmt.Fprintf(b, "%s: %s %s", levelText, timeStamp, entry.Message)
}
b.WriteByte('\n')
return b.Bytes(), nil
}
var (
standardTextFormatter = &textFormatter{}
)
var (
Log *logrus.Logger
)
func init() {
Log = logrus.New()
Log.Formatter = standardTextFormatter
}
func SetLogLevel(levelname string) {
level, err := logrus.ParseLevel(levelname)
if err != nil {
Log.Fatal(err)
}
Log.Level = level
}
func CheckFatal(e error) {
if e != nil {
Log.Fatal(e)
}
}
func CheckWarn(e error) {
if e != nil {
Log.Warnln(e)
}
}
// Adaptor type to go from Logrus to something expecting a standard library log.Logger
type logLogger struct {
logger *logrus.Logger
}
// io.Writer interface
func (l logLogger) Write(p []byte) (n int, err error) {
ln := len(p)
// Strip a trailing newline, because logrus formatter adds one
if ln > 0 && p[ln-1] == '\n' {
p = p[:ln-1]
}
l.logger.Info(string(p))
return ln, nil
}
func LogLogger() *log.Logger {
return log.New(logLogger{Log}, "", 0)
}