Configure zap in main to do our logging

Signed-off-by: Sachin Kamboj <skamboj1@bloomberg.net>
This commit is contained in:
Sachin Kamboj
2020-04-06 22:16:20 -04:00
parent e3942bd5eb
commit 4a7a53603f
+22 -13
View File
@@ -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))
}
}