Skip to content

Commit 2bc6312

Browse files
committed
log.Logger
1 parent 3e7f0b6 commit 2bc6312

File tree

8 files changed

+22
-81
lines changed

8 files changed

+22
-81
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
* Added `Scripting` service client with API methods `Execute()`, `StreamExecute()` and `Explain()`
88
* Added `String()` method to `table.types.Type` interface
99
* Added `With[Custom]UserAgent()` `Option` and `CustomOption` constructors
10+
* Refactored `log.Logger` interface and internal implementation
11+
* Added `retry.RetryableError()` for returns user-defined error which must be retryed
1012

1113
## 3.6.2
1214
* Refactored table retry helpers

internal/logger/log.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ func join(a, b string) string {
288288
return a + "." + b
289289
}
290290

291-
func (l *logger) WithName(name string) interface{} {
291+
func (l *logger) WithName(name string) log.Logger {
292292
return &logger{
293293
external: l.external,
294294
out: l.out,

log/driver.go

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,18 @@
11
package log
22

33
import (
4-
"fmt"
54
"time"
65

76
"github.com/ydb-platform/ydb-go-sdk/v3/trace"
87
)
98

109
// Driver makes trace.Driver with internal logging
1110
func Driver(log Logger, details trace.Details) trace.Driver {
12-
log, ok := log.WithName(`driver`).(Logger)
13-
if !ok {
14-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
15-
}
11+
log = log.WithName(`driver`)
1612
t := trace.Driver{}
1713
// nolint: nestif
1814
if details&trace.DriverNetEvents != 0 {
19-
// nolint: govet
20-
log, ok := log.WithName(`net`).(Logger)
21-
if !ok {
22-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
23-
}
15+
log = log.WithName(`net`)
2416
t.OnNetRead = func(info trace.NetReadStartInfo) func(trace.NetReadDoneInfo) {
2517
address := info.Address
2618
log.Tracef(`read start {address:"%s"}`,
@@ -110,11 +102,7 @@ func Driver(log Logger, details trace.Details) trace.Driver {
110102
}
111103
// nolint: nestif
112104
if details&trace.DriverCoreEvents != 0 {
113-
// nolint: govet
114-
log, ok := log.WithName(`core`).(Logger)
115-
if !ok {
116-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
117-
}
105+
log = log.WithName(`core`)
118106
t.OnInit = func(info trace.InitStartInfo) func(trace.InitDoneInfo) {
119107
endpoint := info.Endpoint
120108
database := info.Database
@@ -304,11 +292,7 @@ func Driver(log Logger, details trace.Details) trace.Driver {
304292
}
305293
}
306294
if details&trace.DriverDiscoveryEvents != 0 {
307-
// nolint: govet
308-
log, ok := log.WithName(`discovery`).(Logger)
309-
if !ok {
310-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
311-
}
295+
log = log.WithName(`discovery`)
312296
t.OnDiscovery = func(info trace.DiscoveryStartInfo) func(trace.DiscoveryDoneInfo) {
313297
log.Debugf(`discover start`)
314298
start := time.Now()
@@ -328,11 +312,7 @@ func Driver(log Logger, details trace.Details) trace.Driver {
328312
}
329313
}
330314
if details&trace.DriverClusterEvents != 0 {
331-
// nolint: govet
332-
log, ok := log.WithName(`cluster`).(Logger)
333-
if !ok {
334-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
335-
}
315+
log = log.WithName(`cluster`)
336316
t.OnClusterGet = func(info trace.ClusterGetStartInfo) func(trace.ClusterGetDoneInfo) {
337317
log.Tracef(`get start`)
338318
start := time.Now()
@@ -422,11 +402,7 @@ func Driver(log Logger, details trace.Details) trace.Driver {
422402
}
423403
}
424404
if details&trace.DriverCredentialsEvents != 0 {
425-
// nolint: govet
426-
log, ok := log.WithName(`credentials`).(Logger)
427-
if !ok {
428-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
429-
}
405+
log = log.WithName(`credentials`)
430406
t.OnGetCredentials = func(info trace.GetCredentialsStartInfo) func(trace.GetCredentialsDoneInfo) {
431407
log.Tracef(`get start`)
432408
start := time.Now()

log/log.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ type Logger interface {
1515
Fatalf(format string, args ...interface{})
1616

1717
// WithName provide applying sub-scope of logger messages
18-
WithName(name string) interface{} // interface must cast to Logger type
18+
WithName(name string) Logger
1919
}

log/table.go

Lines changed: 9 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package log
22

33
import (
4-
"fmt"
54
"time"
65

76
"github.com/ydb-platform/ydb-go-sdk/v3/trace"
@@ -10,18 +9,10 @@ import (
109
// Table makes trace.Table with internal logging
1110
// nolint: gocyclo
1211
func Table(log Logger, details trace.Details) trace.Table {
13-
log, ok := log.WithName(`table`).(Logger)
14-
if !ok {
15-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
16-
}
12+
log = log.WithName(`table`)
1713
t := trace.Table{}
18-
// nolint: nestif
1914
if details&trace.TablePoolRetryEvents != 0 {
20-
// nolint: govet
21-
log, ok := log.WithName(`retry`).(Logger)
22-
if !ok {
23-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
24-
}
15+
log = log.WithName(`retry`)
2516
// nolint: lll
2617
t.OnPoolRetry = func(info trace.PoolRetryStartInfo) func(info trace.PoolRetryInternalInfo) func(trace.PoolRetryDoneInfo) {
2718
idempotent := info.Idempotent
@@ -63,11 +54,7 @@ func Table(log Logger, details trace.Details) trace.Table {
6354
}
6455
// nolint: nestif
6556
if details&trace.TableSessionEvents != 0 {
66-
// nolint: govet
67-
log, ok := log.WithName(`session`).(Logger)
68-
if !ok {
69-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
70-
}
57+
log = log.WithName(`session`)
7158
if details&trace.TableSessionLifeCycleEvents != 0 {
7259
t.OnSessionNew = func(info trace.SessionNewStartInfo) func(trace.SessionNewDoneInfo) {
7360
log.Tracef(`create start`)
@@ -136,17 +123,9 @@ func Table(log Logger, details trace.Details) trace.Table {
136123
}
137124
}
138125
if details&trace.TableSessionQueryEvents != 0 {
139-
// nolint: govet
140-
log, ok := log.WithName(`query`).(Logger)
141-
if !ok {
142-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
143-
}
126+
log = log.WithName(`query`)
144127
if details&trace.TableSessionQueryInvokeEvents != 0 {
145-
// nolint: govet
146-
log, ok := log.WithName(`invoke`).(Logger)
147-
if !ok {
148-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
149-
}
128+
log = log.WithName(`invoke`)
150129
t.OnSessionQueryPrepare = func(info trace.SessionQueryPrepareStartInfo) func(trace.PrepareDataQueryDoneInfo) {
151130
session := info.Session
152131
query := info.Query
@@ -216,11 +195,7 @@ func Table(log Logger, details trace.Details) trace.Table {
216195
}
217196
}
218197
if details&trace.TableSessionQueryStreamEvents != 0 {
219-
// nolint: govet
220-
log, ok := log.WithName(`stream`).(Logger)
221-
if !ok {
222-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
223-
}
198+
log = log.WithName(`stream`)
224199
// nolint: lll
225200
t.OnSessionQueryStreamExecute = func(info trace.SessionQueryStreamExecuteStartInfo) func(trace.SessionQueryStreamExecuteDoneInfo) {
226201
session := info.Session
@@ -284,11 +259,7 @@ func Table(log Logger, details trace.Details) trace.Table {
284259
}
285260
}
286261
if details&trace.TableSessionTransactionEvents != 0 {
287-
// nolint: govet
288-
log, ok := log.WithName(`transaction`).(Logger)
289-
if !ok {
290-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
291-
}
262+
log = log.WithName(`transaction`)
292263
// nolint: lll
293264
t.OnSessionTransactionBegin = func(info trace.SessionTransactionBeginStartInfo) func(trace.SessionTransactionBeginDoneInfo) {
294265
session := info.Session
@@ -377,11 +348,7 @@ func Table(log Logger, details trace.Details) trace.Table {
377348
}
378349
// nolint: nestif
379350
if details&trace.TablePoolEvents != 0 {
380-
// nolint: govet
381-
log, ok := log.WithName(`pool`).(Logger)
382-
if !ok {
383-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
384-
}
351+
log = log.WithName(`pool`)
385352
if details&trace.TablePoolLifeCycleEvents != 0 {
386353
t.OnPoolInit = func(info trace.PoolInitStartInfo) func(trace.PoolInitDoneInfo) {
387354
log.Infof(`initialize start`)
@@ -412,11 +379,7 @@ func Table(log Logger, details trace.Details) trace.Table {
412379
}
413380
}
414381
if details&trace.TablePoolSessionLifeCycleEvents != 0 {
415-
// nolint: govet
416-
log, ok := log.WithName(`session`).(Logger)
417-
if !ok {
418-
panic(fmt.Sprintf("%T.WithName() returns interface which not casted to Logger interface", log))
419-
}
382+
log = log.WithName(`session`)
420383
t.OnPoolSessionNew = func(info trace.PoolSessionNewStartInfo) func(trace.PoolSessionNewDoneInfo) {
421384
log.Tracef(`create start`)
422385
start := time.Now()

test/ratelimiter_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"testing"
1010
"time"
1111

12-
"github.com/ydb-platform/ydb-go-sdk/v3"
12+
ydb "github.com/ydb-platform/ydb-go-sdk/v3"
1313
"github.com/ydb-platform/ydb-go-sdk/v3/balancer"
1414
"github.com/ydb-platform/ydb-go-sdk/v3/config"
1515
cfg "github.com/ydb-platform/ydb-go-sdk/v3/coordination"

test/scripting_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"testing"
1111
"time"
1212

13-
"github.com/ydb-platform/ydb-go-sdk/v3"
13+
ydb "github.com/ydb-platform/ydb-go-sdk/v3"
1414
"github.com/ydb-platform/ydb-go-sdk/v3/balancer"
1515
"github.com/ydb-platform/ydb-go-sdk/v3/config"
1616
"github.com/ydb-platform/ydb-go-sdk/v3/retry"

test/table_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818

1919
"google.golang.org/grpc"
2020

21-
"github.com/ydb-platform/ydb-go-sdk/v3"
21+
ydb "github.com/ydb-platform/ydb-go-sdk/v3"
2222
"github.com/ydb-platform/ydb-go-sdk/v3/balancer"
2323
"github.com/ydb-platform/ydb-go-sdk/v3/config"
2424
"github.com/ydb-platform/ydb-go-sdk/v3/sugar"

0 commit comments

Comments
 (0)