...
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package common
15
16 import (
17 "flag"
18
19 "github.com/go-logr/logr"
20 "github.com/spf13/pflag"
21 "k8s.io/klog"
22 "k8s.io/klog/klogr"
23 )
24
25 type LoggerFlushFunc func()
26
27 func SetupKlog() error {
28
29 klog.InitFlags(flag.CommandLine)
30 pflag.CommandLine.AddGoFlagSet(flag.CommandLine)
31 return flag.Set("logtostderr", "true")
32 }
33
34 func NewStderrLogger() (logr.Logger, LoggerFlushFunc, error) {
35 logger := klogr.New()
36 return logger, klog.Flush, nil
37 }
38
39 var globalLogger logr.Logger
40
41 func SetupGlobalLogger(logger logr.Logger) {
42 globalLogger = logger
43 }
44
45 func L() logr.Logger {
46 if globalLogger == nil {
47 panic("global logger not initialized")
48 }
49 return globalLogger
50 }
51