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:
65
main.go
65
main.go
@@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user