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