@@ -5,13 +5,11 @@ import (
55 "fmt"
66 "net/http"
77 "os"
8- "path"
98 "runtime"
10- "strings"
119
1210 "github.com/jessevdk/go-flags"
1311 "github.com/prometheus/client_golang/prometheus/promhttp"
14- log "github.com/sirupsen/logrus "
12+ "go.uber.org/zap "
1513 "gopkg.in/yaml.v2"
1614
1715 "github.com/webdevops/kube-pool-manager/config"
@@ -34,18 +32,20 @@ var opts config.Opts
3432
3533func main () {
3634 initArgparser ()
35+ initLogger ()
3736
38- log .Infof ("starting kube-pool-manager v%s (%s; %s; by %v)" , gitTag , gitCommit , runtime .Version (), Author )
39- log .Info (string (opts .GetJson ()))
37+ logger .Infof ("starting kube-pool-manager v%s (%s; %s; by %v)" , gitTag , gitCommit , runtime .Version (), Author )
38+ logger .Info (string (opts .GetJson ()))
4039
4140 poolManager := manager.KubePoolManager {
4241 Opts : opts ,
4342 Config : parseAppConfig (opts .Config ),
43+ Logger : logger ,
4444 }
4545 poolManager .Init ()
4646 poolManager .Start ()
4747
48- log .Infof ("starting http server on %s" , opts .Server .Bind )
48+ logger .Infof ("starting http server on %s" , opts .Server .Bind )
4949 startHttpServer ()
5050}
5151
@@ -64,55 +64,24 @@ func initArgparser() {
6464 os .Exit (1 )
6565 }
6666 }
67-
68- // verbose level
69- if opts .Logger .Verbose {
70- log .SetLevel (log .DebugLevel )
71- }
72-
73- // debug level
74- if opts .Logger .Debug {
75- log .SetReportCaller (true )
76- log .SetLevel (log .TraceLevel )
77- log .SetFormatter (& log.TextFormatter {
78- CallerPrettyfier : func (f * runtime.Frame ) (string , string ) {
79- s := strings .Split (f .Function , "." )
80- funcName := s [len (s )- 1 ]
81- return funcName , fmt .Sprintf ("%s:%d" , path .Base (f .File ), f .Line )
82- },
83- })
84- }
85-
86- // json log format
87- if opts .Logger .LogJson {
88- log .SetReportCaller (true )
89- log .SetFormatter (& log.JSONFormatter {
90- DisableTimestamp : true ,
91- CallerPrettyfier : func (f * runtime.Frame ) (string , string ) {
92- s := strings .Split (f .Function , "." )
93- funcName := s [len (s )- 1 ]
94- return funcName , fmt .Sprintf ("%s:%d" , path .Base (f .File ), f .Line )
95- },
96- })
97- }
9867}
9968
10069func parseAppConfig (path string ) (conf config.Config ) {
10170 var configRaw []byte
10271
10372 conf = config.Config {}
10473
105- log . WithField ( "path" , path ).Infof ("reading configuration from file %v" , path )
74+ logger . With ( zap . String ( "path" , path ) ).Infof ("reading configuration from file %v" , path )
10675 /* #nosec */
10776 if data , err := os .ReadFile (path ); err == nil {
10877 configRaw = data
10978 } else {
110- panic (err )
79+ logger . Fatal (err )
11180 }
11281
113- log . WithField ( "path" , path ).Info ("parsing configuration" )
82+ logger . With ( zap . String ( "path" , path ) ).Info ("parsing configuration" )
11483 if err := yaml .Unmarshal (configRaw , & conf ); err != nil {
115- panic (err )
84+ logger . Fatal (err )
11685 }
11786
11887 return
@@ -124,14 +93,14 @@ func startHttpServer() {
12493 // healthz
12594 mux .HandleFunc ("/healthz" , func (w http.ResponseWriter , r * http.Request ) {
12695 if _ , err := fmt .Fprint (w , "Ok" ); err != nil {
127- log .Error (err )
96+ logger .Error (err )
12897 }
12998 })
13099
131100 // readyz
132101 mux .HandleFunc ("/readyz" , func (w http.ResponseWriter , r * http.Request ) {
133102 if _ , err := fmt .Fprint (w , "Ok" ); err != nil {
134- log .Error (err )
103+ logger .Error (err )
135104 }
136105 })
137106
@@ -143,5 +112,5 @@ func startHttpServer() {
143112 ReadTimeout : opts .Server .ReadTimeout ,
144113 WriteTimeout : opts .Server .WriteTimeout ,
145114 }
146- log .Fatal (srv .ListenAndServe ())
115+ logger .Fatal (srv .ListenAndServe ())
147116}
0 commit comments