code: func (logger *Logger) Flush() {
  	b := &backgroundFlusher{
  		logger:     logger,
  		updateChan: make(chan struct{}),
  	}
  	transitChannel <- b
  	<-b.updateChan
  }
docs: // Flush is used to ensure the logger has flushed all queued log lines to its
  // outputs before returning.