@@ -3,52 +3,57 @@ package log
33import (
44 "time"
55
6+ "github.com/ydb-platform/ydb-go-sdk/v3/internal/meta"
67 "github.com/ydb-platform/ydb-go-sdk/v3/trace"
78)
89
9- func Discovery (log Logger , details trace.Details ) (t trace.Discovery ) {
10- if details & trace .DiscoveryEvents != 0 {
11- log = log .WithName (`discovery` )
12- t .OnDiscover = func (info trace.DiscoveryDiscoverStartInfo ) func (trace.DiscoveryDiscoverDoneInfo ) {
13- log .Infof (`discover start {address:"%s",database:"%s"}` ,
14- info .Address ,
15- info .Database ,
16- )
17- start := time .Now ()
18- return func (info trace.DiscoveryDiscoverDoneInfo ) {
19- if info .Error == nil {
20- endpoints := make ([]string , 0 , len (info .Endpoints ))
21- for _ , e := range info .Endpoints {
22- endpoints = append (endpoints , e .String ())
23- }
24- log .Debugf (`discover done {latency:"%v",endpoints:%v}` ,
25- time .Since (start ),
26- endpoints ,
27- )
28- } else {
29- log .Errorf (`discover failed {latency:"%v",error:"%s"}` ,
30- time .Since (start ),
31- info .Error ,
32- )
10+ // Discovery makes trace.Discovery with logging events from details
11+ func Discovery (l Logger , details trace.Details ) (t trace.Discovery ) {
12+ if details & trace .DiscoveryEvents == 0 {
13+ return
14+ }
15+ l = l .WithName (`discovery` )
16+ t .OnDiscover = func (info trace.DiscoveryDiscoverStartInfo ) func (trace.DiscoveryDiscoverDoneInfo ) {
17+ l .Infof (`discover start {address:"%s",database:"%s"}` ,
18+ info .Address ,
19+ info .Database ,
20+ )
21+ start := time .Now ()
22+ return func (info trace.DiscoveryDiscoverDoneInfo ) {
23+ if info .Error == nil {
24+ endpoints := make ([]string , 0 , len (info .Endpoints ))
25+ for _ , e := range info .Endpoints {
26+ endpoints = append (endpoints , e .String ())
3327 }
28+ l .Debugf (`discover done {latency:"%v",endpoints:%v}` ,
29+ time .Since (start ),
30+ endpoints ,
31+ )
32+ } else {
33+ l .Errorf (`discover failed {latency:"%v",error:"%s",version:"%s"}` ,
34+ time .Since (start ),
35+ info .Error ,
36+ meta .Version ,
37+ )
3438 }
3539 }
36- t .OnWhoAmI = func (info trace.DiscoveryWhoAmIStartInfo ) func (doneInfo trace.DiscoveryWhoAmIDoneInfo ) {
37- log .Debugf (`whoAmI start` )
38- start := time .Now ()
39- return func (info trace.DiscoveryWhoAmIDoneInfo ) {
40- if info .Error == nil {
41- log .Debugf (`whoAmI done {latency:"%v",user:%v,groups:%v}` ,
42- time .Since (start ),
43- info .User ,
44- info .Groups ,
45- )
46- } else {
47- log .Errorf (`whoAmI failed {latency:"%v",error:"%s"}` ,
48- time .Since (start ),
49- info .Error ,
50- )
51- }
40+ }
41+ t .OnWhoAmI = func (info trace.DiscoveryWhoAmIStartInfo ) func (doneInfo trace.DiscoveryWhoAmIDoneInfo ) {
42+ l .Debugf (`whoAmI start` )
43+ start := time .Now ()
44+ return func (info trace.DiscoveryWhoAmIDoneInfo ) {
45+ if info .Error == nil {
46+ l .Debugf (`whoAmI done {latency:"%v",user:%v,groups:%v}` ,
47+ time .Since (start ),
48+ info .User ,
49+ info .Groups ,
50+ )
51+ } else {
52+ l .Errorf (`whoAmI failed {latency:"%v",error:"%s",version:"%s"}` ,
53+ time .Since (start ),
54+ info .Error ,
55+ meta .Version ,
56+ )
5257 }
5358 }
5459 }
0 commit comments