7
// swapHandler wraps another handler that may be swapped out
8
// dynamically at runtime in a thread-safe fashion.
9
type swapHandler struct {
14
func (h *swapHandler) Log(r *Record) error {
16
defer h.lock.RUnlock()
18
return h.handler.(Handler).Log(r)
21
func (h *swapHandler) Swap(newHandler Handler) {
25
h.handler = newHandler