28 lines
636 B
Go
28 lines
636 B
Go
|
package zk
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
|
||
|
"github.com/samuel/go-zookeeper/zk"
|
||
|
|
||
|
"github.com/go-kit/kit/log"
|
||
|
)
|
||
|
|
||
|
// wrapLogger wraps a Go kit logger so we can use it as the logging service for
|
||
|
// the ZooKeeper library, which expects a Printf method to be available.
|
||
|
type wrapLogger struct {
|
||
|
log.Logger
|
||
|
}
|
||
|
|
||
|
func (logger wrapLogger) Printf(format string, args ...interface{}) {
|
||
|
logger.Log("msg", fmt.Sprintf(format, args...))
|
||
|
}
|
||
|
|
||
|
// withLogger replaces the ZooKeeper library's default logging service with our
|
||
|
// own Go kit logger.
|
||
|
func withLogger(logger log.Logger) func(c *zk.Conn) {
|
||
|
return func(c *zk.Conn) {
|
||
|
c.SetLogger(wrapLogger{logger})
|
||
|
}
|
||
|
}
|