in logger/buffered_logger.go [239:259]
func (bl *bufferedLogger) sendLogMessageToDestination() error {
msg, err := bl.buffer.Dequeue()
// Do an early return if ring buffer is closed.
if bl.buffer.isClosed {
return nil
}
if err != nil {
return fmt.Errorf("failed to read logs from buffer: %w", err)
}
err = bl.Log(msg)
if err != nil {
// If we return a non-empty error here, it will cause the goroutine exits.
// As a result, it won't consume logs from the buffer and no more logs will be sent to destination.
debug.SendEventsToLog(DaemonName,
fmt.Sprintf("[BUFFER] Failed to proxy msg to the log driver : %s", err),
debug.ERROR, 0)
}
return nil
}