From 6b7debd2bf47e5cf26d6e1a08ccb06915f48a976 Mon Sep 17 00:00:00 2001 From: Drew Bailey <2614075+drewbailey@users.noreply.github.com> Date: Wed, 18 Dec 2019 12:53:33 -0500 Subject: [PATCH] update go-hclog to latest release --- .../github.com/hashicorp/go-hclog/README.md | 2 +- vendor/github.com/hashicorp/go-hclog/go.sum | 2 + .../hashicorp/go-hclog/interceptlogger.go | 31 ++++++++------- .../hashicorp/go-hclog/intlogger.go | 39 ++++++++++++++----- vendor/vendor.json | 2 +- 5 files changed, 49 insertions(+), 27 deletions(-) diff --git a/vendor/github.com/hashicorp/go-hclog/README.md b/vendor/github.com/hashicorp/go-hclog/README.md index 9b6845e98872..5d56f4b59c3f 100644 --- a/vendor/github.com/hashicorp/go-hclog/README.md +++ b/vendor/github.com/hashicorp/go-hclog/README.md @@ -132,7 +132,7 @@ Alternatively, you may configure the system-wide logger: ```go // log the standard logger from 'import "log"' -log.SetOutput(appLogger.Writer(&hclog.StandardLoggerOptions{InferLevels: true})) +log.SetOutput(appLogger.StandardWriter(&hclog.StandardLoggerOptions{InferLevels: true})) log.SetPrefix("") log.SetFlags(0) diff --git a/vendor/github.com/hashicorp/go-hclog/go.sum b/vendor/github.com/hashicorp/go-hclog/go.sum index 9cee2196c248..3a656dfd9c97 100644 --- a/vendor/github.com/hashicorp/go-hclog/go.sum +++ b/vendor/github.com/hashicorp/go-hclog/go.sum @@ -1,5 +1,6 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -13,4 +14,5 @@ github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 h1:DH4skfRX4EBpamg7iV4ZlCpblAHI6s6TDM39bFZumv8= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20191008105621-543471e840be h1:QAcqgptGM8IQBC9K/RC4o+O9YmqEm0diQn9QmZw/0mU= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/vendor/github.com/hashicorp/go-hclog/interceptlogger.go b/vendor/github.com/hashicorp/go-hclog/interceptlogger.go index 68f31e42d882..7b76b4b895cb 100644 --- a/vendor/github.com/hashicorp/go-hclog/interceptlogger.go +++ b/vendor/github.com/hashicorp/go-hclog/interceptlogger.go @@ -12,7 +12,7 @@ var _ Logger = &interceptLogger{} type interceptLogger struct { Logger - sync.Mutex + mu *sync.Mutex sinkCount *int32 Sinks map[SinkAdapter]struct{} } @@ -20,6 +20,7 @@ type interceptLogger struct { func NewInterceptLogger(opts *LoggerOptions) InterceptLogger { intercept := &interceptLogger{ Logger: New(opts), + mu: new(sync.Mutex), sinkCount: new(int32), Sinks: make(map[SinkAdapter]struct{}), } @@ -36,8 +37,8 @@ func (i *interceptLogger) Trace(msg string, args ...interface{}) { return } - i.Lock() - defer i.Unlock() + i.mu.Lock() + defer i.mu.Unlock() for s := range i.Sinks { s.Accept(i.Name(), Trace, msg, i.retrieveImplied(args...)...) } @@ -50,8 +51,8 @@ func (i *interceptLogger) Debug(msg string, args ...interface{}) { return } - i.Lock() - defer i.Unlock() + i.mu.Lock() + defer i.mu.Unlock() for s := range i.Sinks { s.Accept(i.Name(), Debug, msg, i.retrieveImplied(args...)...) } @@ -64,8 +65,8 @@ func (i *interceptLogger) Info(msg string, args ...interface{}) { return } - i.Lock() - defer i.Unlock() + i.mu.Lock() + defer i.mu.Unlock() for s := range i.Sinks { s.Accept(i.Name(), Info, msg, i.retrieveImplied(args...)...) } @@ -78,8 +79,8 @@ func (i *interceptLogger) Warn(msg string, args ...interface{}) { return } - i.Lock() - defer i.Unlock() + i.mu.Lock() + defer i.mu.Unlock() for s := range i.Sinks { s.Accept(i.Name(), Warn, msg, i.retrieveImplied(args...)...) } @@ -92,8 +93,8 @@ func (i *interceptLogger) Error(msg string, args ...interface{}) { return } - i.Lock() - defer i.Unlock() + i.mu.Lock() + defer i.mu.Unlock() for s := range i.Sinks { s.Accept(i.Name(), Error, msg, i.retrieveImplied(args...)...) } @@ -178,8 +179,8 @@ func (i *interceptLogger) With(args ...interface{}) Logger { // RegisterSink attaches a SinkAdapter to interceptLoggers sinks. func (i *interceptLogger) RegisterSink(sink SinkAdapter) { - i.Lock() - defer i.Unlock() + i.mu.Lock() + defer i.mu.Unlock() i.Sinks[sink] = struct{}{} @@ -188,8 +189,8 @@ func (i *interceptLogger) RegisterSink(sink SinkAdapter) { // DeregisterSink removes a SinkAdapter from interceptLoggers sinks. func (i *interceptLogger) DeregisterSink(sink SinkAdapter) { - i.Lock() - defer i.Unlock() + i.mu.Lock() + defer i.mu.Unlock() delete(i.Sinks, sink) diff --git a/vendor/github.com/hashicorp/go-hclog/intlogger.go b/vendor/github.com/hashicorp/go-hclog/intlogger.go index 5882b87018d3..65129ff74d20 100644 --- a/vendor/github.com/hashicorp/go-hclog/intlogger.go +++ b/vendor/github.com/hashicorp/go-hclog/intlogger.go @@ -222,7 +222,8 @@ func (l *intLogger) log(t time.Time, name string, level Level, msg string, args args = args[:len(args)-1] stacktrace = cs } else { - args = append(args, "") + extra := args[len(args)-1] + args = append(args[:len(args)-1], MissingKey, extra) } } @@ -274,7 +275,12 @@ func (l *intLogger) log(t time.Time, name string, level Level, msg string, args } l.writer.WriteByte(' ') - l.writer.WriteString(args[i].(string)) + switch st := args[i].(type) { + case string: + l.writer.WriteString(st) + default: + l.writer.WriteString(fmt.Sprintf("%s", st)) + } l.writer.WriteByte('=') if !raw && strings.ContainsAny(val, " \t\n\r") { @@ -345,16 +351,12 @@ func (l *intLogger) logJSON(t time.Time, name string, level Level, msg string, a args = args[:len(args)-1] vals["stacktrace"] = cs } else { - args = append(args, "") + extra := args[len(args)-1] + args = append(args[:len(args)-1], MissingKey, extra) } } for i := 0; i < len(args); i = i + 2 { - if _, ok := args[i].(string); !ok { - // As this is the logging function not much we can do here - // without injecting into logs... - continue - } val := args[i+1] switch sv := val.(type) { case error: @@ -370,7 +372,15 @@ func (l *intLogger) logJSON(t time.Time, name string, level Level, msg string, a val = fmt.Sprintf(sv[0].(string), sv[1:]...) } - vals[args[i].(string)] = val + var key string + + switch st := args[i].(type) { + case string: + key = st + default: + key = fmt.Sprintf("%s", st) + } + vals[key] = val } } @@ -471,12 +481,17 @@ func (l *intLogger) IsError() bool { return Level(atomic.LoadInt32(l.level)) <= Error } +const MissingKey = "EXTRA_VALUE_AT_END" + // Return a sub-Logger for which every emitted log message will contain // the given key/value pairs. This is used to create a context specific // Logger. func (l *intLogger) With(args ...interface{}) Logger { + var extra interface{} + if len(args)%2 != 0 { - panic("With() call requires paired arguments") + extra = args[len(args)-1] + args = args[:len(args)-1] } sl := *l @@ -509,6 +524,10 @@ func (l *intLogger) With(args ...interface{}) Logger { sl.implied = append(sl.implied, result[k]) } + if extra != nil { + sl.implied = append(sl.implied, MissingKey, extra) + } + return &sl } diff --git a/vendor/vendor.json b/vendor/vendor.json index 0da0bf1b4e70..69eec9733e53 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -232,7 +232,7 @@ {"path":"github.com/hashicorp/go-envparse","checksumSHA1":"FKmqR4DC3nCXtnT9pe02z5CLNWo=","revision":"310ca1881b22af3522e3a8638c0b426629886196","revisionTime":"2018-01-19T21:58:41Z"}, {"path":"github.com/hashicorp/go-getter","checksumSHA1":"d4brua17AGQqMNtngK4xKOUwboY=","revision":"f5101da0117392c6e7960c934f05a2fd689a5b5f","revisionTime":"2019-08-22T19:45:07Z"}, {"path":"github.com/hashicorp/go-getter/helper/url","checksumSHA1":"9J+kDr29yDrwsdu2ULzewmqGjpA=","revision":"b345bfcec894fb7ff3fdf9b21baf2f56ea423d98","revisionTime":"2018-04-10T17:49:45Z"}, - {"path":"github.com/hashicorp/go-hclog","checksumSHA1":"CYpA7Nmx/oTmWKIXtvO0uRhIyGk=","revision":"234833755cb25ae46996d0ef823326f492f89243","revisionTime":"2019-10-25T21:19:05Z","version":"f-multi-sink","versionExact":"f-multi-sink"}, + {"path":"github.com/hashicorp/go-hclog","checksumSHA1":"p0y3e3+Oj9GJXM/OW3ISDXap5+w=","revision":"e8a977f5d6b14a15e6672edf8b1d6cd545388c7a","revisionTime":"2019-12-18T17:30:18Z","version":"v0.10.1","versionExact":"v0.10.1"}, {"path":"github.com/hashicorp/go-immutable-radix","checksumSHA1":"Cas2nprG6pWzf05A2F/OlnjUu2Y=","revision":"8aac2701530899b64bdea735a1de8da899815220","revisionTime":"2017-07-25T22:12:15Z"}, {"path":"github.com/hashicorp/go-memdb","checksumSHA1":"FMAvwDar2bQyYAW4XMFhAt0J5xA=","revision":"20ff6434c1cc49b80963d45bf5c6aa89c78d8d57","revisionTime":"2017-08-31T20:15:40Z"}, {"path":"github.com/hashicorp/go-msgpack/codec","checksumSHA1":"CKGYNUDKre3Z2g4hHNVfp5nTcfA=","revision":"23165f7bc3c2dda1891434ebb9da1511a7bafc1c","revisionTime":"2019-09-27T12:33:13Z","version":"upstream-08f7b40","versionExact":"upstream-08f7b40"},