Files
linuxkit/vendor/gopkg.in/inconshreveable/log15.v2/handler_appengine.go
Rolf Neugebauer 2ab909fcbd vendor: Update to a new version of InfraKit
This pulls in another slew of other packages.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-04 16:07:53 +01:00

27 lines
474 B
Go

// +build appengine
package log15
import "sync"
// swapHandler wraps another handler that may be swapped out
// dynamically at runtime in a thread-safe fashion.
type swapHandler struct {
handler interface{}
lock sync.RWMutex
}
func (h *swapHandler) Log(r *Record) error {
h.lock.RLock()
defer h.lock.RUnlock()
return h.handler.(Handler).Log(r)
}
func (h *swapHandler) Swap(newHandler Handler) {
h.lock.Lock()
defer h.lock.Unlock()
h.handler = newHandler
}