1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

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/http"
"net/url" "net/url"
"strconv" "strconv"
"time"
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/docker/docker/daemon/logger" "github.com/docker/docker/daemon/logger"
@ -47,17 +48,17 @@ type splunkLogger struct {
} }
type splunkLoggerInline struct { type splunkLoggerInline struct {
splunkLogger *splunkLogger
nullEvent *splunkMessageEvent nullEvent *splunkMessageEvent
} }
type splunkLoggerJSON struct { type splunkLoggerJSON struct {
splunkLoggerInline *splunkLoggerInline
} }
type splunkLoggerRaw struct { type splunkLoggerRaw struct {
splunkLogger *splunkLogger
prefix []byte prefix []byte
} }
@ -209,14 +210,14 @@ func New(ctx logger.Context) (logger.Logger, error) {
Attrs: attrs, Attrs: attrs,
} }
return &splunkLoggerInline{*logger, nullEvent}, nil return &splunkLoggerInline{logger, nullEvent}, nil
case splunkFormatJSON: case splunkFormatJSON:
nullEvent := &splunkMessageEvent{ nullEvent := &splunkMessageEvent{
Tag: tag, Tag: tag,
Attrs: attrs, Attrs: attrs,
} }
return &splunkLoggerJSON{splunkLoggerInline{*logger, nullEvent}}, nil return &splunkLoggerJSON{&splunkLoggerInline{logger, nullEvent}}, nil
case splunkFormatRaw: case splunkFormatRaw:
var prefix bytes.Buffer var prefix bytes.Buffer
prefix.WriteString(tag) prefix.WriteString(tag)
@ -228,7 +229,7 @@ func New(ctx logger.Context) (logger.Logger, error) {
prefix.WriteString(" ") prefix.WriteString(" ")
} }
return &splunkLoggerRaw{*logger, prefix.Bytes()}, nil return &splunkLoggerRaw{logger, prefix.Bytes()}, nil
default: default:
return nil, fmt.Errorf("Unexpected format %s", splunkFormat) return nil, fmt.Errorf("Unexpected format %s", splunkFormat)
} }
@ -243,7 +244,7 @@ func (l *splunkLoggerInline) Log(msg *logger.Message) error {
message.Event = &event message.Event = &event
return l.postMessage(&message) return l.postMessage(message)
} }
func (l *splunkLoggerJSON) Log(msg *logger.Message) error { func (l *splunkLoggerJSON) Log(msg *logger.Message) error {
@ -261,7 +262,7 @@ func (l *splunkLoggerJSON) Log(msg *logger.Message) error {
message.Event = &event message.Event = &event
return l.postMessage(&message) return l.postMessage(message)
} }
func (l *splunkLoggerRaw) Log(msg *logger.Message) error { 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...)) message.Event = string(append(l.prefix, msg.Line...))
return l.postMessage(&message) return l.postMessage(message)
} }
func (l *splunkLogger) postMessage(message *splunkMessage) error { func (l *splunkLogger) postMessage(message *splunkMessage) error {
jsonEvent, err := json.Marshal(&message) jsonEvent, err := json.Marshal(message)
if err != nil { if err != nil {
return err return err
} }
@ -308,10 +309,10 @@ func (l *splunkLogger) Name() string {
return driverName return driverName
} }
func (l *splunkLogger) createSplunkMessage(msg *logger.Message) splunkMessage { func (l *splunkLogger) createSplunkMessage(msg *logger.Message) *splunkMessage {
message := *l.nullMessage message := *l.nullMessage
message.Time = fmt.Sprintf("%f", float64(msg.Timestamp.UnixNano())/1000000000) message.Time = fmt.Sprintf("%f", float64(msg.Timestamp.UnixNano())/float64(time.Second))
return message return &message
} }
// ValidateLogOpt looks for all supported by splunk driver options // ValidateLogOpt looks for all supported by splunk driver options