From 9407322972a93fa5a47436a8a9f0133b49806e6c Mon Sep 17 00:00:00 2001 From: Denis Gladkikh Date: Thu, 18 Aug 2016 09:17:06 -0700 Subject: [PATCH] Splunk Logging Driver: PR feedback Signed-off-by: Denis Gladkikh --- daemon/logger/splunk/splunk.go | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/daemon/logger/splunk/splunk.go b/daemon/logger/splunk/splunk.go index 0dd64e15be..15bff45110 100644 --- a/daemon/logger/splunk/splunk.go +++ b/daemon/logger/splunk/splunk.go @@ -13,6 +13,7 @@ import ( "net/http" "net/url" "strconv" + "time" "github.com/Sirupsen/logrus" "github.com/docker/docker/daemon/logger" @@ -47,17 +48,17 @@ type splunkLogger struct { } type splunkLoggerInline struct { - splunkLogger + *splunkLogger nullEvent *splunkMessageEvent } type splunkLoggerJSON struct { - splunkLoggerInline + *splunkLoggerInline } type splunkLoggerRaw struct { - splunkLogger + *splunkLogger prefix []byte } @@ -209,14 +210,14 @@ func New(ctx logger.Context) (logger.Logger, error) { Attrs: attrs, } - return &splunkLoggerInline{*logger, nullEvent}, nil + return &splunkLoggerInline{logger, nullEvent}, nil case splunkFormatJSON: nullEvent := &splunkMessageEvent{ Tag: tag, Attrs: attrs, } - return &splunkLoggerJSON{splunkLoggerInline{*logger, nullEvent}}, nil + return &splunkLoggerJSON{&splunkLoggerInline{logger, nullEvent}}, nil case splunkFormatRaw: var prefix bytes.Buffer prefix.WriteString(tag) @@ -228,7 +229,7 @@ func New(ctx logger.Context) (logger.Logger, error) { prefix.WriteString(" ") } - return &splunkLoggerRaw{*logger, prefix.Bytes()}, nil + return &splunkLoggerRaw{logger, prefix.Bytes()}, nil default: return nil, fmt.Errorf("Unexpected format %s", splunkFormat) } @@ -243,7 +244,7 @@ func (l *splunkLoggerInline) Log(msg *logger.Message) error { message.Event = &event - return l.postMessage(&message) + return l.postMessage(message) } func (l *splunkLoggerJSON) Log(msg *logger.Message) error { @@ -261,7 +262,7 @@ func (l *splunkLoggerJSON) Log(msg *logger.Message) error { message.Event = &event - return l.postMessage(&message) + return l.postMessage(message) } func (l *splunkLoggerRaw) Log(msg *logger.Message) error { @@ -269,11 +270,11 @@ func (l *splunkLoggerRaw) Log(msg *logger.Message) error { message.Event = string(append(l.prefix, msg.Line...)) - return l.postMessage(&message) + return l.postMessage(message) } func (l *splunkLogger) postMessage(message *splunkMessage) error { - jsonEvent, err := json.Marshal(&message) + jsonEvent, err := json.Marshal(message) if err != nil { return err } @@ -308,10 +309,10 @@ func (l *splunkLogger) Name() string { return driverName } -func (l *splunkLogger) createSplunkMessage(msg *logger.Message) splunkMessage { +func (l *splunkLogger) createSplunkMessage(msg *logger.Message) *splunkMessage { message := *l.nullMessage - message.Time = fmt.Sprintf("%f", float64(msg.Timestamp.UnixNano())/1000000000) - return message + message.Time = fmt.Sprintf("%f", float64(msg.Timestamp.UnixNano())/float64(time.Second)) + return &message } // ValidateLogOpt looks for all supported by splunk driver options