code: func BufferedHandler(bufSize int, h Handler) Handler {
  	recs := make(chan *Record, bufSize)
  	go func() {
  		for m := range recs {
  			_ = h.Log(m)
  		}
  	}()
  	return ChannelHandler(recs)
  }
docs: // BufferedHandler writes all records to a buffered
  // channel of the given size which flushes into the wrapped
  // handler whenever it is available for writing. Since these
  // writes happen asynchronously, all writes to a BufferedHandler
  // never return an error and any errors from the wrapped handler are ignored.