Log format support, fixes #52

This commit is contained in:
Mustafa Akin
2020-06-22 17:31:01 +03:00
parent 0499da9706
commit 1a24caeeeb
3 changed files with 20 additions and 10 deletions
+1
View File
@@ -1,4 +1,5 @@
logLevel: debug
logFormat: json
route:
# Main route
routes:
+18 -10
View File
@@ -3,17 +3,16 @@ package main
import (
"context"
"flag"
"io/ioutil"
"os"
"os/signal"
"syscall"
"time"
"github.com/opsgenie/kubernetes-event-exporter/pkg/exporter"
"github.com/opsgenie/kubernetes-event-exporter/pkg/kube"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
"gopkg.in/yaml.v2"
"io/ioutil"
"os"
"os/signal"
"syscall"
"time"
)
var (
@@ -36,10 +35,7 @@ func main() {
log.Fatal().Err(err).Msg("cannot parse config to YAML")
}
log.Logger = log.With().Caller().Logger().Output(zerolog.ConsoleWriter{
Out: os.Stdout,
TimeFormat: time.RFC3339,
}).Level(zerolog.DebugLevel)
log.Logger = log.With().Caller().Logger().Level(zerolog.DebugLevel)
if cfg.LogLevel != "" {
level, err := zerolog.ParseLevel(cfg.LogLevel)
@@ -49,6 +45,18 @@ func main() {
log.Logger = log.Logger.Level(level)
}
if cfg.LogFormat == "json" {
// Defaults to JSON already nothing to do
} else if cfg.LogFormat == "" || cfg.LogFormat == "pretty" {
log.Logger = log.Logger.Output(zerolog.ConsoleWriter{
Out: os.Stdout,
NoColor: false,
TimeFormat: time.RFC3339,
})
} else {
log.Fatal().Str("log_format", cfg.LogFormat).Msg("Unknown log format")
}
kubeconfig, err := kube.GetKubernetesConfig()
if err != nil {
log.Fatal().Err(err).Msg("cannot get kubeconfig")
+1
View File
@@ -11,6 +11,7 @@ type Config struct {
// TODO: There is currently a tight coupling with route and config, but not with receiver config and sink so
// TODO: I am not sure what to do here.
LogLevel string `yaml:"logLevel"`
LogFormat string `yaml:"logFormat"`
LeaderElection kube.LeaderElectionConfig `yaml:"leaderElection"`
Route Route `yaml:"route"`
Receivers []sinks.ReceiverConfig `yaml:"receivers"`