Use local JSON log buffer in parseDockerJSONLog.

This commit is contained in:
Sean Clemmer 2017-08-09 12:41:15 -04:00
parent 6a0d3c7494
commit dab138236c

View File

@ -280,16 +280,14 @@ func parseCRILog(log []byte, msg *logMessage) error {
return nil
}
// dockerJSONLog is the JSON log buffer used in parseDockerJSONLog.
var dockerJSONLog = &jsonlog.JSONLog{}
// parseDockerJSONLog parses logs in Docker JSON log format. Docker JSON log format
// example:
// {"log":"content 1","stream":"stdout","time":"2016-10-20T18:39:20.57606443Z"}
// {"log":"content 2","stream":"stderr","time":"2016-10-20T18:39:20.57606444Z"}
func parseDockerJSONLog(log []byte, msg *logMessage) error {
dockerJSONLog.Reset()
l := dockerJSONLog
var l = &jsonlog.JSONLog{}
l.Reset()
// TODO: JSON decoding is fairly expensive, we should evaluate this.
if err := json.Unmarshal(log, l); err != nil {
return fmt.Errorf("failed with %v to unmarshal log %q", err, l)