Skip to content

Commit 1f56365

Browse files
author
Janelle Law
committed
pass logger as server option
1 parent 44fbfc6 commit 1f56365

File tree

4 files changed

+16
-195
lines changed

4 files changed

+16
-195
lines changed

logging.go

-187
This file was deleted.

server.go

+12-5
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package totem
33
import (
44
"context"
55
"fmt"
6+
"io"
67
"log"
78
"log/slog"
89
"reflect"
@@ -24,7 +25,6 @@ type Server struct {
2425
stream Stream
2526
lock sync.RWMutex
2627
controller *StreamController
27-
logger *slog.Logger
2828
splicedControllers []*StreamController
2929
tracer trace.Tracer
3030

@@ -33,6 +33,7 @@ type Server struct {
3333
}
3434

3535
type ServerOptions struct {
36+
logger *slog.Logger
3637
name string
3738
discoveryHopLimit int32
3839
interceptors InterceptorConfig
@@ -94,16 +95,23 @@ func WithName(name string) ServerOption {
9495
}
9596
}
9697

98+
func WithLogger(logger *slog.Logger) ServerOption {
99+
return func(o *ServerOptions) {
100+
o.logger = logger
101+
}
102+
}
103+
104+
var defaultNoopLogger = slog.New(slog.NewTextHandler(io.Discard, &slog.HandlerOptions{Level: slog.LevelError}))
105+
97106
func NewServer(stream Stream, opts ...ServerOption) (*Server, error) {
98107
options := ServerOptions{
99108
discoveryHopLimit: -1,
109+
logger: defaultNoopLogger,
100110
}
101111
options.apply(opts...)
102112

103-
lg := Log.WithGroup(options.name)
104-
105113
ctrl := NewStreamController(stream, StreamControllerOptions{
106-
Logger: lg,
114+
Logger: options.logger,
107115
Name: options.name,
108116
Metrics: options.metrics,
109117
WorkerPoolParams: DefaultWorkerPoolParams(),
@@ -120,7 +128,6 @@ func NewServer(stream Stream, opts ...ServerOption) (*Server, error) {
120128
ServerOptions: options,
121129
stream: stream,
122130
controller: ctrl,
123-
logger: lg,
124131
setupCtx: setupCtx,
125132
setupSpan: span,
126133
tracer: tracer,

stream.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,7 @@ type WorkerPoolParameters struct {
8282
// There can be at most one stream controller per stream.
8383
func NewStreamController(stream Stream, opts StreamControllerOptions) *StreamController {
8484
if opts.Logger == nil {
85-
opts.Logger = Log.WithGroup(opts.Name)
86-
} else {
87-
opts.Logger = opts.Logger.WithGroup(opts.Name)
85+
opts.Logger = slog.Default()
8886
}
8987

9088
sh := &StreamController{

totem_suite_test.go

+3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"crypto/sha1"
66
"encoding/hex"
77
"fmt"
8+
"log/slog"
89
"net"
910
"os"
1011
"runtime"
@@ -20,6 +21,7 @@ import (
2021
"go.opentelemetry.io/otel/sdk/resource"
2122
tracesdk "go.opentelemetry.io/otel/sdk/trace"
2223
semconv "go.opentelemetry.io/otel/semconv/v1.12.0"
24+
2325
"google.golang.org/grpc"
2426
"google.golang.org/grpc/codes"
2527
"google.golang.org/grpc/status"
@@ -36,6 +38,7 @@ var defaultServerOpts = []grpc.ServerOption{
3638
}
3739

3840
func TestTotem(t *testing.T) {
41+
slog.SetDefault(slog.New(slog.NewTextHandler(GinkgoWriter, &slog.HandlerOptions{Level: slog.LevelDebug})))
3942
SetDefaultEventuallyTimeout(60 * time.Second)
4043
RegisterFailHandler(Fail)
4144
RunSpecs(t, "Totem Suite")

0 commit comments

Comments
 (0)