code: func (oc *OutputChannel) Flush() {
  	for {
  		select {
  		case msg := <-oc.input:
  			if err := oc.output.Write(msg); err != nil {
  				critialLogger.Print("cannot write log message: ", err.Error())
  			}
  		default:
  			return
  		}
  	}
  }
docs: // Flush flushes all the buffered message to the output