mirror of
https://github.com/weaveworks/scope.git
synced 2026-05-05 00:39:04 +00:00
``` $ 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 ```
88 lines
1.6 KiB
Go
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)
|
|
}
|