func()

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
}