diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-08-19 19:19:06 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-08-20 15:57:41 +0200 |
| commit | bc1b8ff624ad4cbc578f5c0d4b771048fdbe0b2d (patch) | |
| tree | 7ce6004285ff8cd37af73a1cab3f1bf007b458dc | |
| parent | d33fc6059b2c065a096ced4021f809d456385d8b (diff) | |
| download | muhqs-game-bc1b8ff624ad4cbc578f5c0d4b771048fdbe0b2d.tar.gz muhqs-game-bc1b8ff624ad4cbc578f5c0d4b771048fdbe0b2d.zip | |
retrieve loglevel from url query in wasm
| -rw-r--r-- | go/log/log.go | 13 | ||||
| -rw-r--r-- | go/log/log_generic.go | 20 | ||||
| -rw-r--r-- | go/log/log_wasm.go | 21 |
3 files changed, 41 insertions, 13 deletions
diff --git a/go/log/log.go b/go/log/log.go index b9262675..040eaef8 100644 --- a/go/log/log.go +++ b/go/log/log.go @@ -5,8 +5,6 @@ import ( "fmt" "log" "log/slog" - "os" - "strconv" ) var GameLogLevel slog.Level = 99 @@ -21,17 +19,6 @@ func RegisterGameRecordHandler(handler func(any)) { handleGameRecord = handler } -func init() { - logLevel := 0 - if logLevelVar, found := os.LookupEnv("LOGLEVEL"); found { - if envLogLevel, err := strconv.Atoi(logLevelVar); err == nil { - logLevel = envLogLevel - } - } - Logger = slog.New(NewGameLogHandler([]string{}, &slog.HandlerOptions{Level: slog.Level(logLevel)})) - slog.SetDefault(Logger) -} - // Configure controls the logging behavior of the default logger. func Configure(files []string, opts *slog.HandlerOptions) { Logger = slog.New(NewGameLogHandler(files, opts)) diff --git a/go/log/log_generic.go b/go/log/log_generic.go new file mode 100644 index 00000000..db4561b9 --- /dev/null +++ b/go/log/log_generic.go @@ -0,0 +1,20 @@ +//go:build !wasm + +package log + +import ( + "log/slog" + "os" + "strconv" +) + +func init() { + logLevel := 0 + if logLevelVar, found := os.LookupEnv("LOGLEVEL"); found { + if envLogLevel, err := strconv.Atoi(logLevelVar); err == nil { + logLevel = envLogLevel + } + } + Logger = slog.New(NewGameLogHandler([]string{}, &slog.HandlerOptions{Level: slog.Level(logLevel)})) + slog.SetDefault(Logger) +} diff --git a/go/log/log_wasm.go b/go/log/log_wasm.go new file mode 100644 index 00000000..ad870432 --- /dev/null +++ b/go/log/log_wasm.go @@ -0,0 +1,21 @@ +package log + +import ( + "log/slog" + "net/url" + "strconv" + "syscall/js" +) + +func init() { + logLevel := 0 + search := js.Global().Get("window").Get("location").Get("search").String() + params, _ := url.ParseQuery(search) + if logLevelVar := params.Get("loglevel"); logLevelVar != "" { + if envLogLevel, err := strconv.Atoi(logLevelVar); err == nil { + logLevel = envLogLevel + } + } + Logger = slog.New(NewGameLogHandler([]string{}, &slog.HandlerOptions{Level: slog.Level(logLevel)})) + slog.SetDefault(Logger) +} |
