1
0
mirror of https://github.com/amir20/dozzle.git synced 2025-12-24 06:28:42 +01:00

chore: code clean up (#2349)

This commit is contained in:
Amir Raminfar
2023-08-14 10:49:43 -07:00
committed by GitHub
parent 9971bf0d3f
commit 2ec0d7bd4e

65
main.go
View File

@@ -64,15 +64,7 @@ var content embed.FS
func main() { func main() {
args := parseArgs() args := parseArgs()
validateEnvVars()
level, _ := log.ParseLevel(args.Level)
log.SetLevel(level)
log.SetFormatter(&log.TextFormatter{
DisableTimestamp: true,
DisableLevelTruncation: true,
})
if args.Healthcheck != nil { if args.Healthcheck != nil {
if err := healthcheck.HttpRequest(args.Addr, args.Base); err != nil { if err := healthcheck.HttpRequest(args.Addr, args.Base); err != nil {
log.Fatal(err) log.Fatal(err)
@@ -233,26 +225,11 @@ func createLocalClient(args args, localClientFactory func(map[string][]string) (
} }
func parseArgs() args { func parseArgs() args {
argsType := reflect.TypeOf(args{})
expectedEnvs := make(map[string]bool)
for i := 0; i < argsType.NumField(); i++ {
field := argsType.Field(i)
for _, tag := range strings.Split(field.Tag.Get("arg"), ",") {
if strings.HasPrefix(tag, "env:") {
expectedEnvs[strings.TrimPrefix(tag, "env:")] = true
}
}
}
for _, env := range os.Environ() {
actual := strings.Split(env, "=")[0]
if strings.HasPrefix(actual, "DOZZLE_") && !expectedEnvs[actual] {
log.Warnf("Unexpected environment variable %s", actual)
}
}
var args args var args args
parser := arg.MustParse(&args) parser := arg.MustParse(&args)
configureLogger(args.Level)
args.Filter = make(map[string][]string) args.Filter = make(map[string][]string)
for _, filter := range args.FilterStrings { for _, filter := range args.FilterStrings {
@@ -280,3 +257,37 @@ func parseArgs() args {
} }
return args return args
} }
func configureLogger(level string) {
if l, err := log.ParseLevel(level); err == nil {
log.SetLevel(l)
} else {
panic(err)
}
log.SetFormatter(&log.TextFormatter{
DisableTimestamp: true,
DisableLevelTruncation: true,
})
}
func validateEnvVars() {
argsType := reflect.TypeOf(args{})
expectedEnvs := make(map[string]bool)
for i := 0; i < argsType.NumField(); i++ {
field := argsType.Field(i)
for _, tag := range strings.Split(field.Tag.Get("arg"), ",") {
if strings.HasPrefix(tag, "env:") {
expectedEnvs[strings.TrimPrefix(tag, "env:")] = true
}
}
}
for _, env := range os.Environ() {
actual := strings.Split(env, "=")[0]
if strings.HasPrefix(actual, "DOZZLE_") && !expectedEnvs[actual] {
log.Warnf("Unexpected environment variable %s", actual)
}
}
}