diff --git a/env.go b/env.go index a5d32b0e..6ff6aff9 100644 --- a/env.go +++ b/env.go @@ -1,19 +1,25 @@ package main import ( + "flag" "github.com/joho/godotenv" "log/slog" "os" "strconv" ) +var fileChecked = false + func loadEnvFile() { - if !checkedEnvFile { - if err := godotenv.Load(".env.local", ".env"); err != nil { - slog.Debug(".env file not loaded;", "reason", err) + if !fileChecked { + if flag.NArg() > 0 { + path := flag.Arg(0) + if err := godotenv.Load(path); err != nil { + slog.Debug(".env file not loaded;", "path", path, "reason", err) + } } - checkedEnvFile = true + fileChecked = true } } @@ -74,6 +80,3 @@ func getEnv(key string, defaultValue interface{}) interface{} { return defaultValue } - -// one time check for .env file -var checkedEnvFile = false diff --git a/server.go b/server.go index 670d141e..72c0296d 100644 --- a/server.go +++ b/server.go @@ -1,6 +1,7 @@ package main import ( + "flag" "fmt" "github.com/jspaste/frontend/www" "github.com/valyala/fasthttp" @@ -14,6 +15,9 @@ import ( ) func main() { + slog.SetLogLoggerLevel(slog.LevelInfo) + flag.Parse() + bindAddressEnv := getEnv("JSPF_BIND_ADDRESS", "[::]").(string) portEnv := getEnv("JSPF_PORT", uint16(3000)).(uint16)