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 <glasser@davidglasser.net>
@@ -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)
@@ -133,8 +133,9 @@ func New(info logger.Info) (logger.Logger, error) {
func (s *syslogger) Log(msg *logger.Message) error {
return s.writer.Err(line)
return s.writer.Info(line)