From 132da3f036287896cb3ba9f9f2573ad36bbb69cc Mon Sep 17 00:00:00 2001 From: unclejack Date: Wed, 1 Apr 2015 20:15:50 +0300 Subject: [PATCH] daemon/logger/jsonfilelog: avoid some allocations Signed-off-by: Cristian Staretu --- daemon/logger/jsonfilelog/jsonfilelog.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/daemon/logger/jsonfilelog/jsonfilelog.go b/daemon/logger/jsonfilelog/jsonfilelog.go index faa6bf92e2..50293181fd 100644 --- a/daemon/logger/jsonfilelog/jsonfilelog.go +++ b/daemon/logger/jsonfilelog/jsonfilelog.go @@ -7,6 +7,7 @@ import ( "github.com/docker/docker/daemon/logger" "github.com/docker/docker/pkg/jsonlog" + "github.com/docker/docker/pkg/timeutils" ) // JSONFileLogger is Logger implementation for default docker logging: @@ -33,7 +34,11 @@ func New(filename string) (logger.Logger, error) { func (l *JSONFileLogger) Log(msg *logger.Message) error { l.mu.Lock() defer l.mu.Unlock() - err := (&jsonlog.JSONLog{Log: string(msg.Line) + "\n", Stream: msg.Source, Created: msg.Timestamp}).MarshalJSONBuf(l.buf) + timestamp, err := timeutils.FastMarshalJSON(msg.Timestamp) + if err != nil { + return err + } + err = (&jsonlog.JSONLogBytes{Log: append(msg.Line, '\n'), Stream: msg.Source, Created: timestamp}).MarshalJSONBuf(l.buf) if err != nil { return err }