diff --git a/daemon/logs.go b/daemon/logs.go index 6925cabacb..b4df401efd 100644 --- a/daemon/logs.go +++ b/daemon/logs.go @@ -88,9 +88,8 @@ func (daemon *Daemon) ContainerLogs(job *engine.Job) engine.Status { cLog = tmp } dec := json.NewDecoder(cLog) + l := &jsonlog.JSONLog{} for { - l := &jsonlog.JSONLog{} - if err := dec.Decode(l); err == io.EOF { break } else if err != nil { @@ -102,11 +101,12 @@ func (daemon *Daemon) ContainerLogs(job *engine.Job) engine.Status { logLine = fmt.Sprintf("%s %s", l.Created.Format(format), logLine) } if l.Stream == "stdout" && stdout { - fmt.Fprintf(job.Stdout, "%s", logLine) + io.WriteString(job.Stdout, logLine) } if l.Stream == "stderr" && stderr { - fmt.Fprintf(job.Stderr, "%s", logLine) + io.WriteString(job.Stderr, logLine) } + l.Reset() } } }