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 {
|
| 112 | 112 |
} |
| 113 | 113 |
|
| 114 | 114 |
line := string(msg.Line) |
| 115 |
+ source := msg.Source |
|
| 115 | 116 |
logger.PutMessage(msg) |
| 116 | 117 |
|
| 117 |
- if msg.Source == "stderr" {
|
|
| 118 |
+ if source == "stderr" {
|
|
| 118 | 119 |
return journal.Send(line, journal.PriErr, vars) |
| 119 | 120 |
} |
| 120 | 121 |
return journal.Send(line, journal.PriInfo, vars) |
| ... | ... |
@@ -133,8 +133,9 @@ func New(info logger.Info) (logger.Logger, error) {
|
| 133 | 133 |
|
| 134 | 134 |
func (s *syslogger) Log(msg *logger.Message) error {
|
| 135 | 135 |
line := string(msg.Line) |
| 136 |
+ source := msg.Source |
|
| 136 | 137 |
logger.PutMessage(msg) |
| 137 |
- if msg.Source == "stderr" {
|
|
| 138 |
+ if source == "stderr" {
|
|
| 138 | 139 |
return s.writer.Err(line) |
| 139 | 140 |
} |
| 140 | 141 |
return s.writer.Info(line) |