OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / go-kit / kit / sd / zk / logwrapper.go
1 package zk
2
3 import (
4         "fmt"
5
6         "github.com/samuel/go-zookeeper/zk"
7
8         "github.com/go-kit/kit/log"
9 )
10
11 // wrapLogger wraps a Go kit logger so we can use it as the logging service for
12 // the ZooKeeper library, which expects a Printf method to be available.
13 type wrapLogger struct {
14         log.Logger
15 }
16
17 func (logger wrapLogger) Printf(format string, args ...interface{}) {
18         logger.Log("msg", fmt.Sprintf(format, args...))
19 }
20
21 // withLogger replaces the ZooKeeper library's default logging service with our
22 // own Go kit logger.
23 func withLogger(logger log.Logger) func(c *zk.Conn) {
24         return func(c *zk.Conn) {
25                 c.SetLogger(wrapLogger{logger})
26         }
27 }