code: func SyncHandler(h Handler) Handler {
  	var mu sync.Mutex
  	return FuncHandler(func(r *Record) error {
  		defer mu.Unlock()
  		mu.Lock()
  		return h.Log(r)
  	})
  }
docs: // SyncHandler can be wrapped around a handler to guarantee that
  // only a single Log operation can proceed at a time. It's necessary
  // for thread-safe concurrent writes.