@@ -70,18 +70,28 @@ type DrandHTTPClient interface {
7070
7171type logger struct {
7272 * zap.SugaredLogger
73+ name string
7374}
7475
7576func (l * logger ) With (args ... interface {}) dlog.Logger {
76- return & logger {l .SugaredLogger .With (args ... )}
77+ return & logger {l .SugaredLogger .With (args ... ), l . name }
7778}
7879
7980func (l * logger ) Named (s string ) dlog.Logger {
80- return & logger {l .SugaredLogger .Named (s )}
81+ newName := l .name
82+ if newName != "" {
83+ newName += "."
84+ }
85+ newName += s
86+ return & logger {l .SugaredLogger .Named (s ), newName }
8187}
8288
8389func (l * logger ) AddCallerSkip (skip int ) dlog.Logger {
84- return & logger {l .SugaredLogger .With (zap .AddCallerSkip (skip ))}
90+ return & logger {l .SugaredLogger .With (zap .AddCallerSkip (skip )), l .name }
91+ }
92+
93+ func (l * logger ) Name () string {
94+ return l .name
8595}
8696
8797func NewDrandBeacon (genesisTs , interval uint64 , ps * pubsub.PubSub , config dtypes.DrandConfig ) (* DrandBeacon , error ) {
@@ -96,7 +106,7 @@ func NewDrandBeacon(genesisTs, interval uint64, ps *pubsub.PubSub, config dtypes
96106
97107 var clients []drand.Client
98108 for _ , url := range config .Servers {
99- hc , err := hclient .NewWithInfo (& logger {& log .SugaredLogger }, url , drandChain , nil )
109+ hc , err := hclient .NewWithInfo (& logger {& log .SugaredLogger , "drand" }, url , drandChain , nil )
100110 if err != nil {
101111 return nil , xerrors .Errorf ("could not create http drand client: %w" , err )
102112 }
@@ -107,7 +117,7 @@ func NewDrandBeacon(genesisTs, interval uint64, ps *pubsub.PubSub, config dtypes
107117 opts := []dclient.Option {
108118 dclient .WithChainInfo (drandChain ),
109119 dclient .WithCacheSize (1024 ),
110- dclient .WithLogger (& logger {& log .SugaredLogger }),
120+ dclient .WithLogger (& logger {& log .SugaredLogger , "drand" }),
111121 }
112122
113123 if ps != nil {
0 commit comments