blob: 3b2594dbb1fde3db6581f6d606d4f1127167dff0 [file] [log] [blame]
Serge Bazanski6c8ee0b2023-04-05 12:29:57 +02001package logtree
2
3import "google.golang.org/grpc/grpclog"
4
5// GRPCify turns a LeveledLogger into a go-grpc compatible logger.
6func GRPCify(logger LeveledLogger) grpclog.LoggerV2 {
7 lp, ok := logger.(*leveledPublisher)
8 if !ok {
9 // Fail fast, as this is a programming error.
10 panic("Expected *leveledPublisher in LeveledLogger from supervisor")
11 }
12
13 lp2 := *lp
14 lp2.depth += 1
15
16 return &leveledGRPCV2{
17 lp: &lp2,
18 }
19}
20
21type leveledGRPCV2 struct {
22 lp *leveledPublisher
23}
24
25func (g *leveledGRPCV2) Info(args ...interface{}) {
26 g.lp.Info(args...)
27}
28
29func (g *leveledGRPCV2) Infoln(args ...interface{}) {
30 g.lp.Info(args...)
31}
32
33func (g *leveledGRPCV2) Infof(format string, args ...interface{}) {
34 g.lp.Infof(format, args...)
35}
36
37func (g *leveledGRPCV2) Warning(args ...interface{}) {
38 g.lp.Warning(args...)
39}
40
41func (g *leveledGRPCV2) Warningln(args ...interface{}) {
42 g.lp.Warning(args...)
43}
44
45func (g *leveledGRPCV2) Warningf(format string, args ...interface{}) {
46 g.lp.Warningf(format, args...)
47}
48
49func (g *leveledGRPCV2) Error(args ...interface{}) {
50 g.lp.Error(args...)
51}
52
53func (g *leveledGRPCV2) Errorln(args ...interface{}) {
54 g.lp.Error(args...)
55}
56
57func (g *leveledGRPCV2) Errorf(format string, args ...interface{}) {
58 g.lp.Errorf(format, args...)
59}
60
61func (g *leveledGRPCV2) Fatal(args ...interface{}) {
62 g.lp.Fatal(args...)
63}
64
65func (g *leveledGRPCV2) Fatalln(args ...interface{}) {
66 g.lp.Fatal(args...)
67}
68
69func (g *leveledGRPCV2) Fatalf(format string, args ...interface{}) {
70 g.lp.Fatalf(format, args...)
71}
72
73func (g *leveledGRPCV2) V(l int) bool {
74 return g.lp.V(VerbosityLevel(l)).Enabled()
75}