From 917050c5728f2fb9958ccb3ab66a23766f741adc Mon Sep 17 00:00:00 2001 From: David Glasser Date: Mon, 26 Jun 2017 14:34:51 -0700 Subject: [PATCH] Fix stderr logging for journald and syslog logger.PutMessage, added in #28762 (v17.04.0-ce), clears msg.Source. So journald and syslog were treating stderr messages as if they were stdout. Signed-off-by: David Glasser --- daemon/logger/journald/journald.go | 3 ++- daemon/logger/syslog/syslog.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/daemon/logger/journald/journald.go b/daemon/logger/journald/journald.go index 9865a273c5..86d7378b5b 100644 --- a/daemon/logger/journald/journald.go +++ b/daemon/logger/journald/journald.go @@ -112,9 +112,10 @@ func (s *journald) Log(msg *logger.Message) error { } line := string(msg.Line) + source := msg.Source logger.PutMessage(msg) - if msg.Source == "stderr" { + if source == "stderr" { return journal.Send(line, journal.PriErr, vars) } return journal.Send(line, journal.PriInfo, vars) diff --git a/daemon/logger/syslog/syslog.go b/daemon/logger/syslog/syslog.go index 925473aeef..42855e1174 100644 --- a/daemon/logger/syslog/syslog.go +++ b/daemon/logger/syslog/syslog.go @@ -133,8 +133,9 @@ func New(info logger.Info) (logger.Logger, error) { func (s *syslogger) Log(msg *logger.Message) error { line := string(msg.Line) + source := msg.Source logger.PutMessage(msg) - if msg.Source == "stderr" { + if source == "stderr" { return s.writer.Err(line) } return s.writer.Info(line)