Merge pull request #731 from GiedriusS/add_json

feat(backend): add ability to configure log format
This commit is contained in:
Łukasz Mierzwa
2019-05-27 11:33:24 +02:00
committed by GitHub
4 changed files with 14 additions and 0 deletions

View File

@@ -70,6 +70,8 @@ func init() {
pflag.Bool("log.config", true, "Log used configuration to log on startup")
pflag.String("log.level", "info",
"Log level, one of: debug, info, warning, error, fatal and panic")
pflag.String("log.format", "text",
"Log format, one of: text, json")
pflag.StringSlice("receivers.keep", []string{},
"List of receivers to keep, all alerts with different receivers will be ignored")
@@ -159,6 +161,7 @@ func (config *configSchema) Read() {
config.Listen.Prefix = v.GetString("listen.prefix")
config.Log.Config = v.GetBool("log.config")
config.Log.Level = v.GetString("log.level")
config.Log.Format = v.GetString("log.format")
config.Receivers.Keep = v.GetStringSlice("receivers.keep")
config.Receivers.Strip = v.GetStringSlice("receivers.strip")
config.Sentry.Private = v.GetString("sentry.private")

View File

@@ -112,6 +112,7 @@ listen:
log:
config: true
level: info
format: text
jira: []
receivers:
keep: []

View File

@@ -82,6 +82,7 @@ type configSchema struct {
Log struct {
Config bool
Level string
Format string
}
JIRA []jiraRule
Receivers struct {

View File

@@ -158,6 +158,15 @@ func setupLogger() {
default:
log.Fatalf("Unknown log level '%s'", config.Config.Log.Level)
}
switch config.Config.Log.Format {
case "text":
log.SetFormatter(&log.TextFormatter{})
case "json":
log.SetFormatter(&log.JSONFormatter{})
default:
log.Fatalf("Unknown log format '%s'", config.Config.Log.Format)
}
}
func main() {