mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
logger/gelf: Skip empty lines to comply with spec
The [gelf payload specification](http://docs.graylog.org/en/2.4/pages/gelf.html#gelf-payload-specification) demands that the field `short_message` *MUST* be set by the client library. Since docker logging via the gelf driver sends messages line by line, it can happen that messages with an empty `short_message` are passed on. This causes strict downstream processors (like graylog) to raise an exception. The logger now skips messages with an empty line. Resolves: #40232 See also: #37572 Signed-off-by: Jonas Heinrich <Jonas@JonasHeinrich.com>
This commit is contained in:
parent
8840071c26
commit
5c6b913ff1
1 changed files with 4 additions and 0 deletions
|
@ -166,6 +166,10 @@ func newGELFUDPWriter(address string, info logger.Info) (gelf.Writer, error) {
|
|||
}
|
||||
|
||||
func (s *gelfLogger) Log(msg *logger.Message) error {
|
||||
if len(msg.Line) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
level := gelf.LOG_INFO
|
||||
if msg.Source == "stderr" {
|
||||
level = gelf.LOG_ERR
|
||||
|
|
Loading…
Add table
Reference in a new issue