Splunk Logging Driver: PR feedback

Signed-off-by: Denis Gladkikh <denis@gladkikh.email>
This commit is contained in:
Denis Gladkikh 2016-08-18 09:17:06 -07:00
parent 603fd08315
commit 9407322972

View file

@ -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