...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package logging
17
18 import (
19 "io"
20 "os"
21
22 "github.com/go-logr/logr"
23 "github.com/go-logr/zapr"
24 "go.uber.org/zap/zapcore"
25 klog "sigs.k8s.io/controller-runtime/pkg/log"
26 "sigs.k8s.io/controller-runtime/pkg/log/zap"
27 )
28
29 var logger = klog.Log
30
31
32
33 func BuildLogger(output io.Writer) logr.Logger {
34 encoderCfg := zapcore.EncoderConfig{
35 MessageKey: "msg",
36 LevelKey: "severity",
37 NameKey: "logger",
38 TimeKey: "timestamp",
39 EncodeLevel: zapcore.LowercaseLevelEncoder,
40 EncodeTime: zapcore.ISO8601TimeEncoder,
41 EncodeDuration: zapcore.StringDurationEncoder,
42 }
43 encoder := zapcore.NewJSONEncoder(encoderCfg)
44 return zapr.NewLogger(zap.NewRaw(zap.WriteTo(output), zap.Encoder(encoder)))
45 }
46
47
48
49 func Fatal(err error, msg string) {
50 logger.Error(err, msg)
51 os.Exit(1)
52 }
53
View as plain text