From 4a7a53603fb082be4e778e6958a98216a626927b Mon Sep 17 00:00:00 2001 From: Sachin Kamboj Date: Mon, 6 Apr 2020 22:16:20 -0400 Subject: [PATCH] Configure zap in main to do our logging Signed-off-by: Sachin Kamboj --- cmd/goldpinger/main.go | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/cmd/goldpinger/main.go b/cmd/goldpinger/main.go index 2709907..901a266 100644 --- a/cmd/goldpinger/main.go +++ b/cmd/goldpinger/main.go @@ -15,10 +15,10 @@ package main import ( - "log" "os" "github.com/go-openapi/loads" + "go.uber.org/zap" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" @@ -34,14 +34,23 @@ var ( Version, Build string ) -func main() { +func getLogger() *zap.Logger { + logger, err := zap.NewProduction() + if err != nil { + panic(err) + } + zap.ReplaceGlobals(logger) + return logger +} - log.Println("Goldpinger version:", Version, "build:", Build) +func main() { + logger := getLogger() + logger.Info("Goldpinger", zap.String("version", Version), zap.String("build", Build)) // load embedded swagger file swaggerSpec, err := loads.Analyzed(restapi.SwaggerJSON, "") if err != nil { - log.Fatalln(err) + logger.Error("Coud not parse swagger", zap.Error(err)) } // create new service API @@ -58,7 +67,7 @@ func main() { for _, optsGroup := range api.CommandLineOptionsGroups { _, err := parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options) if err != nil { - log.Fatalln(err) + logger.Error("Coud not add flag group", zap.Error(err)) } } @@ -75,19 +84,19 @@ func main() { // make a kubernetes client var config *rest.Config if goldpinger.GoldpingerConfig.KubeConfigPath == "" { - log.Println("Kubeconfig not specified, trying to use in cluster config") + logger.Info("Kubeconfig not specified, trying to use in cluster config") config, err = rest.InClusterConfig() } else { - log.Println("Kubeconfig specified in ", goldpinger.GoldpingerConfig.KubeConfigPath) + logger.Info("Kubeconfig specified", zap.String("path", goldpinger.GoldpingerConfig.KubeConfigPath)) config, err = clientcmd.BuildConfigFromFlags("", goldpinger.GoldpingerConfig.KubeConfigPath) } if err != nil { - log.Fatalln("Error getting config ", err.Error()) + logger.Fatal("Error getting config ", zap.Error(err)) } // create the clientset clientset, err := kubernetes.NewForConfig(config) if err != nil { - log.Fatalln("kubernetes.NewForConfig error ", err.Error()) + logger.Fatal("kubernetes.NewForConfig error ", zap.Error(err)) } goldpinger.GoldpingerConfig.KubernetesClient = clientset @@ -97,19 +106,19 @@ func main() { } if goldpinger.GoldpingerConfig.PodIP == "" { - log.Println("PodIP not set: pinging all pods") + logger.Info("PodIP not set: pinging all pods") } if goldpinger.GoldpingerConfig.PingNumber == 0 { - log.Println("--ping-number set to 0: pinging all pods") + logger.Info("--ping-number set to 0: pinging all pods") } server.ConfigureAPI() goldpinger.StartUpdater() - log.Println("All good, starting serving the API") + logger.Info("All good, starting serving the API") // serve API if err := server.Serve(); err != nil { - log.Fatalln(err) + logger.Fatal("Error serving the API", zap.Error(err)) } }