composer: add json log formatting
Configurable via config file/env
This commit is contained in:
parent
aea77ed3de
commit
3b6156a240
4 changed files with 21 additions and 4 deletions
|
|
@ -10,10 +10,11 @@ import (
|
|||
)
|
||||
|
||||
type ComposerConfigFile struct {
|
||||
Koji KojiAPIConfig `toml:"koji"`
|
||||
Worker WorkerAPIConfig `toml:"worker"`
|
||||
WeldrAPI WeldrAPIConfig `toml:"weldr_api"`
|
||||
LogLevel string `toml:"log_level"`
|
||||
Koji KojiAPIConfig `toml:"koji"`
|
||||
Worker WorkerAPIConfig `toml:"worker"`
|
||||
WeldrAPI WeldrAPIConfig `toml:"weldr_api"`
|
||||
LogLevel string `toml:"log_level"`
|
||||
LogFormat string `toml:"log_format"`
|
||||
}
|
||||
|
||||
type KojiAPIConfig struct {
|
||||
|
|
@ -104,6 +105,8 @@ func GetDefaultConfig() *ComposerConfigFile {
|
|||
},
|
||||
},
|
||||
},
|
||||
LogLevel: "info",
|
||||
LogFormat: "text",
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ func TestDefaultConfig(t *testing.T) {
|
|||
}
|
||||
|
||||
require.Equal(t, expectedWeldrAPIConfig, defaultConfig.WeldrAPI)
|
||||
require.Equal(t, "text", defaultConfig.LogFormat)
|
||||
}
|
||||
|
||||
func TestConfig(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -42,6 +42,15 @@ func main() {
|
|||
logrus.Info("Failed to load loglevel from config:", err)
|
||||
}
|
||||
|
||||
switch config.LogFormat {
|
||||
case "text":
|
||||
logrus.SetFormatter(&logrus.TextFormatter{})
|
||||
case "json":
|
||||
logrus.SetFormatter(&logrus.JSONFormatter{})
|
||||
default:
|
||||
logrus.Infof("Failed to set logging format from config, '%s' is not a valid option", config.LogFormat)
|
||||
}
|
||||
|
||||
logrus.Info("Loaded configuration:")
|
||||
err = DumpConfig(*config, logrus.StandardLogger().WriterLevel(logrus.InfoLevel))
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue