Skip to content

Commit 300e007

Browse files
committed
chore: remove logging.Lgr interface
Replace everything that used logging.Lgr with *logging.LoggingWithLevelI This way people can use any logger that implements a few methods instead of being forced to implement legacy Errorf, Infof, Debugf methods. This allows users to directly use slog.Logger or other structured loggers without having to write adapter code.
1 parent ad41c03 commit 300e007

File tree

16 files changed

+48
-57
lines changed

16 files changed

+48
-57
lines changed

internal/pool/pool.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ type Options struct {
122122
DialerRetryTimeout time.Duration
123123

124124
// Optional logger for connection pool operations.
125-
Logger logging.Lgr
125+
Logger logging.LoggerWithLevelI
126126
}
127127

128128
type lastDialErrorWrap struct {
@@ -1058,9 +1058,9 @@ func (p *ConnPool) isHealthyConn(cn *Conn, nowNs int64) bool {
10581058
return true
10591059
}
10601060

1061-
func (p *ConnPool) logger() logging.Lgr {
1061+
func (p *ConnPool) logger() *logging.LoggerWrapper {
10621062
if p.cfg != nil && p.cfg.Logger != nil {
1063-
return p.cfg.Logger
1063+
return logging.NewLoggerWrapper(p.cfg.Logger)
10641064
}
10651065
return logging.LoggerWithLevel()
10661066
}

logging/custom_go121_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//go:build go1.21
2+
3+
package logging
4+
5+
import "log/slog"
6+
7+
// validation that [slog.Logger] implements [LoggerWithLevelI]
8+
var _ LoggerWithLevelI = &slog.Logger{}
9+
10+
var _ *LoggerWrapper = NewLoggerWrapper(&slog.Logger{})

logging/legacy.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,6 @@ func (l *legacyLoggerAdapter) Enabled(ctx context.Context, level LogLevelT) bool
9393

9494
var legacyLoggerWithLevel = &legacyLoggerAdapter{}
9595

96-
func LoggerWithLevel() Lgr {
97-
return legacyLoggerWithLevel
96+
func LoggerWithLevel() *LoggerWrapper {
97+
return NewLoggerWrapper(legacyLoggerWithLevel)
9898
}

logging/logging.go

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -89,22 +89,3 @@ func (l *filterLogger) Printf(ctx context.Context, format string, v ...interface
8989
return
9090
}
9191
}
92-
93-
// Lgr is a logger interface with leveled logging methods.
94-
// It is implemented by LoggerWrapper and legacyLoggerAdapter.
95-
// If you would like to use `slog.Logger` from the standard library, you can use LoggerWrapper.
96-
//
97-
// logger := slog.New(slog.NewTextHandler(os.Stderr))
98-
// db := redis.NewClient(&redis.Options{
99-
// Logger: logging.NewLoggerWrapper(logger),
100-
// })
101-
//
102-
// This will NOT handle all logging at the moment, singe there is still a global logger in use.
103-
// that will be deprecated in the future.
104-
type Lgr interface {
105-
Errorf(ctx context.Context, format string, v ...any)
106-
Warnf(ctx context.Context, format string, v ...any)
107-
Infof(ctx context.Context, format string, v ...any)
108-
Debugf(ctx context.Context, format string, v ...any)
109-
Enabled(ctx context.Context, level LogLevelT) bool
110-
}

maintnotifications/circuit_breaker.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,9 @@ func (cb *CircuitBreaker) GetStats() CircuitBreakerStats {
194194
}
195195
}
196196

197-
func (cb *CircuitBreaker) logger() logging.Lgr {
197+
func (cb *CircuitBreaker) logger() *logging.LoggerWrapper {
198198
if cb.config != nil && cb.config.Logger != nil {
199-
return cb.config.Logger
199+
return logging.NewLoggerWrapper(cb.config.Logger)
200200
}
201201
return logging.LoggerWithLevel()
202202
}
@@ -351,9 +351,9 @@ func (cbm *CircuitBreakerManager) Reset() {
351351
})
352352
}
353353

354-
func (cbm *CircuitBreakerManager) logger() logging.Lgr {
354+
func (cbm *CircuitBreakerManager) logger() *logging.LoggerWrapper {
355355
if cbm.config != nil && cbm.config.Logger != nil {
356-
return cbm.config.Logger
356+
return logging.NewLoggerWrapper(cbm.config.Logger)
357357
}
358358
return logging.LoggerWithLevel()
359359
}

maintnotifications/config.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ type Config struct {
130130
MaxHandoffRetries int
131131

132132
// Logger is an optional custom logger for maintenance notifications.
133-
Logger logging.Lgr
133+
Logger logging.LoggerWithLevelI
134134
}
135135

136136
func (c *Config) IsEnabled() bool {
@@ -369,9 +369,9 @@ func (c *Config) applyWorkerDefaults(poolSize int) {
369369
}
370370
}
371371

372-
func (c *Config) logger() logging.Lgr {
372+
func (c *Config) logger() *logging.LoggerWrapper {
373373
if c.Logger != nil {
374-
return c.Logger
374+
return logging.NewLoggerWrapper(c.Logger)
375375
}
376376
return logging.LoggerWithLevel()
377377
}

maintnotifications/handoff_worker.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -494,9 +494,9 @@ func (hwm *handoffWorkerManager) closeConnFromRequest(ctx context.Context, reque
494494
}
495495
}
496496

497-
func (hwm *handoffWorkerManager) logger() logging.Lgr {
497+
func (hwm *handoffWorkerManager) logger() *logging.LoggerWrapper {
498498
if hwm.config != nil && hwm.config.Logger != nil {
499-
return hwm.config.Logger
499+
return logging.NewLoggerWrapper(hwm.config.Logger)
500500
}
501501
return logging.LoggerWithLevel()
502502
}

maintnotifications/manager.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,9 +311,9 @@ func (hm *Manager) AddNotificationHook(notificationHook NotificationHook) {
311311
hm.hooks = append(hm.hooks, notificationHook)
312312
}
313313

314-
func (hm *Manager) logger() logging.Lgr {
314+
func (hm *Manager) logger() *logging.LoggerWrapper {
315315
if hm.config != nil && hm.config.Logger != nil {
316-
return hm.config.Logger
316+
return logging.NewLoggerWrapper(hm.config.Logger)
317317
}
318318
return logging.LoggerWithLevel()
319319
}

maintnotifications/pool_hook.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,9 @@ func (ph *PoolHook) Shutdown(ctx context.Context) error {
181181
return ph.workerManager.shutdownWorkers(ctx)
182182
}
183183

184-
func (ph *PoolHook) logger() logging.Lgr {
184+
func (ph *PoolHook) logger() *logging.LoggerWrapper {
185185
if ph.config != nil && ph.config.Logger != nil {
186-
return ph.config.Logger
186+
return logging.NewLoggerWrapper(ph.config.Logger)
187187
}
188188
return logging.LoggerWithLevel()
189189
}

maintnotifications/push_notification_handler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ func (snh *NotificationHandler) handleFailedOver(ctx context.Context, handlerCtx
274274
return nil
275275
}
276276

277-
func (snh *NotificationHandler) logger() logging.Lgr {
277+
func (snh *NotificationHandler) logger() *logging.LoggerWrapper {
278278
if snh.manager != nil {
279279
return snh.manager.logger()
280280
}

0 commit comments

Comments
 (0)