From c399563ec1a168a4233d1b7c4ce8e8c80dfde157 Mon Sep 17 00:00:00 2001 From: Goutham Veeramachaneni Date: Fri, 16 Jun 2017 13:33:26 +0530 Subject: [PATCH] vendor: Update common/log Signed-off-by: Goutham Veeramachaneni --- .../common/log/eventlog_formatter.go | 10 +- .../github.com/prometheus/common/log/log.go | 101 ++++++++++-------- .../prometheus/common/log/syslog_formatter.go | 10 +- vendor/vendor.json | 6 +- 4 files changed, 72 insertions(+), 55 deletions(-) diff --git a/vendor/github.com/prometheus/common/log/eventlog_formatter.go b/vendor/github.com/prometheus/common/log/eventlog_formatter.go index 6d41284ce..bcf68e6f2 100644 --- a/vendor/github.com/prometheus/common/log/eventlog_formatter.go +++ b/vendor/github.com/prometheus/common/log/eventlog_formatter.go @@ -21,22 +21,22 @@ import ( "golang.org/x/sys/windows/svc/eventlog" - "github.com/Sirupsen/logrus" + "github.com/sirupsen/logrus" ) func init() { - setEventlogFormatter = func(name string, debugAsInfo bool) error { + setEventlogFormatter = func(l logger, name string, debugAsInfo bool) error { if name == "" { return fmt.Errorf("missing name parameter") } - fmter, err := newEventlogger(name, debugAsInfo, origLogger.Formatter) + fmter, err := newEventlogger(name, debugAsInfo, l.entry.Logger.Formatter) if err != nil { fmt.Fprintf(os.Stderr, "error creating eventlog formatter: %v\n", err) - origLogger.Errorf("can't connect logger to eventlog: %v", err) + l.Errorf("can't connect logger to eventlog: %v", err) return err } - origLogger.Formatter = fmter + l.entry.Logger.Formatter = fmter return nil } } diff --git a/vendor/github.com/prometheus/common/log/log.go b/vendor/github.com/prometheus/common/log/log.go index 0a74a7f92..1321741ad 100644 --- a/vendor/github.com/prometheus/common/log/log.go +++ b/vendor/github.com/prometheus/common/log/log.go @@ -25,7 +25,7 @@ import ( "strconv" "strings" - "github.com/Sirupsen/logrus" + "github.com/sirupsen/logrus" ) type levelFlag string @@ -46,10 +46,10 @@ func (f levelFlag) Set(level string) error { } // setSyslogFormatter is nil if the target architecture does not support syslog. -var setSyslogFormatter func(string, string) error +var setSyslogFormatter func(logger, string, string) error // setEventlogFormatter is nil if the target OS does not support Eventlog (i.e., is not Windows). -var setEventlogFormatter func(string, bool) error +var setEventlogFormatter func(logger, string, bool) error func setJSONFormatter() { origLogger.Formatter = &logrus.JSONFormatter{} @@ -65,45 +65,7 @@ func (f logFormatFlag) String() string { // Set implements flag.Value. func (f logFormatFlag) Set(format string) error { - u, err := url.Parse(format) - if err != nil { - return err - } - if u.Scheme != "logger" { - return fmt.Errorf("invalid scheme %s", u.Scheme) - } - jsonq := u.Query().Get("json") - if jsonq == "true" { - setJSONFormatter() - } - - switch u.Opaque { - case "syslog": - if setSyslogFormatter == nil { - return fmt.Errorf("system does not support syslog") - } - appname := u.Query().Get("appname") - facility := u.Query().Get("local") - return setSyslogFormatter(appname, facility) - case "eventlog": - if setEventlogFormatter == nil { - return fmt.Errorf("system does not support eventlog") - } - name := u.Query().Get("name") - debugAsInfo := false - debugAsInfoRaw := u.Query().Get("debugAsInfo") - if parsedDebugAsInfo, err := strconv.ParseBool(debugAsInfoRaw); err == nil { - debugAsInfo = parsedDebugAsInfo - } - return setEventlogFormatter(name, debugAsInfo) - case "stdout": - origLogger.Out = os.Stdout - case "stderr": - origLogger.Out = os.Stderr - default: - return fmt.Errorf("unsupported logger %q", u.Opaque) - } - return nil + return baseLogger.SetFormat(format) } func init() { @@ -150,6 +112,9 @@ type Logger interface { Fatalf(string, ...interface{}) With(key string, value interface{}) Logger + + SetFormat(string) error + SetLevel(string) error } type logger struct { @@ -235,6 +200,58 @@ func (l logger) Fatalf(format string, args ...interface{}) { l.sourced().Fatalf(format, args...) } +func (l logger) SetLevel(level string) error { + lvl, err := logrus.ParseLevel(level) + if err != nil { + return err + } + + l.entry.Logger.Level = lvl + return nil +} + +func (l logger) SetFormat(format string) error { + u, err := url.Parse(format) + if err != nil { + return err + } + if u.Scheme != "logger" { + return fmt.Errorf("invalid scheme %s", u.Scheme) + } + jsonq := u.Query().Get("json") + if jsonq == "true" { + setJSONFormatter() + } + + switch u.Opaque { + case "syslog": + if setSyslogFormatter == nil { + return fmt.Errorf("system does not support syslog") + } + appname := u.Query().Get("appname") + facility := u.Query().Get("local") + return setSyslogFormatter(l, appname, facility) + case "eventlog": + if setEventlogFormatter == nil { + return fmt.Errorf("system does not support eventlog") + } + name := u.Query().Get("name") + debugAsInfo := false + debugAsInfoRaw := u.Query().Get("debugAsInfo") + if parsedDebugAsInfo, err := strconv.ParseBool(debugAsInfoRaw); err == nil { + debugAsInfo = parsedDebugAsInfo + } + return setEventlogFormatter(l, name, debugAsInfo) + case "stdout": + l.entry.Logger.Out = os.Stdout + case "stderr": + l.entry.Logger.Out = os.Stderr + default: + return fmt.Errorf("unsupported logger %q", u.Opaque) + } + return nil +} + // sourced adds a source field to the logger that contains // the file name and line where the logging happened. func (l logger) sourced() *logrus.Entry { diff --git a/vendor/github.com/prometheus/common/log/syslog_formatter.go b/vendor/github.com/prometheus/common/log/syslog_formatter.go index 64f5fdac9..f882f2f84 100644 --- a/vendor/github.com/prometheus/common/log/syslog_formatter.go +++ b/vendor/github.com/prometheus/common/log/syslog_formatter.go @@ -20,13 +20,13 @@ import ( "log/syslog" "os" - "github.com/Sirupsen/logrus" + "github.com/sirupsen/logrus" ) var _ logrus.Formatter = (*syslogger)(nil) func init() { - setSyslogFormatter = func(appname, local string) error { + setSyslogFormatter = func(l logger, appname, local string) error { if appname == "" { return fmt.Errorf("missing appname parameter") } @@ -34,13 +34,13 @@ func init() { return fmt.Errorf("missing local parameter") } - fmter, err := newSyslogger(appname, local, origLogger.Formatter) + fmter, err := newSyslogger(appname, local, l.entry.Logger.Formatter) if err != nil { fmt.Fprintf(os.Stderr, "error creating syslog formatter: %v\n", err) - origLogger.Errorf("can't connect logger to syslog: %v", err) + l.entry.Errorf("can't connect logger to syslog: %v", err) return err } - origLogger.Formatter = fmter + l.entry.Logger.Formatter = fmter return nil } } diff --git a/vendor/vendor.json b/vendor/vendor.json index 7a423bc9d..da6c10b2f 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -727,10 +727,10 @@ "revisionTime": "2017-04-18T15:52:10Z" }, { - "checksumSHA1": "vfkLfDs6hXtxdJNGdWQglsxFu40=", + "checksumSHA1": "esljoY35OOHttvpjBctA6WGZc70=", "path": "github.com/prometheus/common/log", - "revision": "75882ff176da1a10e2705adadd81edfd3a50d743", - "revisionTime": "2017-04-27T09:48:40Z" + "revision": "94eb3fe3a55f1b5d12d335b27a4f6e37cd73ed7e", + "revisionTime": "2017-06-16T09:39:39Z" }, { "checksumSHA1": "0LL9u9tfv1KPBjNEiMDP6q7lpog=",