code: func (r *RingLogger) run() {
  	for {
  		if r.closed() {
  			return
  		}
  		msg, err := r.buffer.Dequeue()
  		if err != nil {
  			// buffer is closed
  			return
  		}
  		if err := r.l.Log(msg); err != nil {
  			logrus.WithField("driver", r.l.Name()).
  				WithField("container", r.logInfo.ContainerID).
  				WithError(err).
  				Errorf("Error writing log message")
  		}
  	}
  }
docs: // run consumes messages from the ring buffer and forwards them to the underling
  // logger.
  // This is run in a goroutine when the RingLogger is created