...
1 package grpc_logsettable_test
2
3 import (
4 "bytes"
5 "io/ioutil"
6 "os"
7 "testing"
8
9 grpc_logsettable "github.com/grpc-ecosystem/go-grpc-middleware/logging/settable"
10 "github.com/stretchr/testify/assert"
11 "google.golang.org/grpc/grpclog"
12 )
13
14 func ExampleSettableLoggerV2_init() {
15 l1 := grpclog.NewLoggerV2(ioutil.Discard, ioutil.Discard, ioutil.Discard)
16 l2 := grpclog.NewLoggerV2(os.Stdout, os.Stdout, os.Stdout)
17
18 settableLogger := grpc_logsettable.ReplaceGrpcLoggerV2()
19 grpclog.Info("Discarded by default")
20
21 settableLogger.Set(l1)
22 grpclog.Info("Discarded log by l1")
23
24 settableLogger.Set(l2)
25 grpclog.Info("Emitted log by l2")
26
27 }
28
29 func TestSettableLoggerV2_init(t *testing.T) {
30 l1buffer := &bytes.Buffer{}
31 l1 := grpclog.NewLoggerV2(l1buffer, l1buffer, l1buffer)
32
33 l2buffer := &bytes.Buffer{}
34 l2 := grpclog.NewLoggerV2(l2buffer, l2buffer, l2buffer)
35
36 settableLogger := grpc_logsettable.ReplaceGrpcLoggerV2()
37 grpclog.Info("Discarded by default")
38
39 settableLogger.Set(l1)
40 grpclog.SetLoggerV2(settableLogger)
41 grpclog.Info("Emitted log by l1")
42
43 settableLogger.Set(l2)
44 grpclog.Info("Emitted log by l2")
45
46 assert.Contains(t, l1buffer.String(), "Emitted log by l1")
47 assert.Contains(t, l2buffer.String(), "Emitted log by l2")
48 }
49
View as plain text