From c31ed4ed2727c73257f7247d0e38ca3d1395b78b Mon Sep 17 00:00:00 2001 From: 1e99 Date: Sat, 12 Apr 2025 11:10:13 +0200 Subject: [PATCH] everything is now logged to stdout --- a | 12 ++++++++++++ env.go | 24 ++++++++++++++---------- main.go | 10 ++++++---- 3 files changed, 32 insertions(+), 14 deletions(-) create mode 100644 a diff --git a/a b/a new file mode 100644 index 0000000..deef7a1 --- /dev/null +++ b/a @@ -0,0 +1,12 @@ +2025/04/12 11:09:47 No "WOLBODGE_ADDRESS" provided, defaulting to ":3000" +2025/04/12 11:09:47 No "WOLBODGE_DEVICE_TYPE" provided, defaulting to "test" +2025/04/12 11:09:47 No "WOLBODGE_STORAGE_TYPE" provided, defaulting to "mem" +2025/04/12 11:09:47 Using device: test +2025/04/12 11:09:47 Using session storage: mem +2025/04/12 11:09:47 Listening on :3000 +2025/04/12 11:09:51 No "WOLBODGE_ADDRESS" provided, defaulting to ":3000" +2025/04/12 11:09:51 No "WOLBODGE_DEVICE_TYPE" provided, defaulting to "test" +2025/04/12 11:09:51 No "WOLBODGE_STORAGE_TYPE" provided, defaulting to "mem" +2025/04/12 11:09:51 Using device: test +2025/04/12 11:09:51 Using session storage: mem +2025/04/12 11:09:51 Listening on :3000 diff --git a/env.go b/env.go index 54908cb..f3621e5 100644 --- a/env.go +++ b/env.go @@ -11,9 +11,9 @@ import ( "git.1e99.eu/1e99/wolbodge/sessions" ) -func NewStorage() (sessions.Storage, error) { +func NewStorage(logger *log.Logger) (sessions.Storage, error) { var storageType string - Env("WOLBODGE_STORAGE_TYPE", &storageType, "mem") + Env("WOLBODGE_STORAGE_TYPE", &storageType, "mem", logger) switch storageType { case "mem", "memory": @@ -24,9 +24,9 @@ func NewStorage() (sessions.Storage, error) { } } -func NewDevice() (devices.Device, error) { +func NewDevice(logger *log.Logger) (devices.Device, error) { var deviceType string - Env("WOLBODGE_DEVICE_TYPE", &deviceType, "test") + Env("WOLBODGE_DEVICE_TYPE", &deviceType, "test", logger) switch deviceType { case "test": @@ -36,9 +36,9 @@ func NewDevice() (devices.Device, error) { var shell []string var statusCmd string var toggleStatusCmd string - Env("WOLBODGE_DEVICE_SHELL", &shell, "") - Env("WOLBODGE_DEVICE_STATUS_COMMAND", &statusCmd, "") - Env("WOLBODGE_DEVICE_TOGGLE_STATUS_COMMAND", &toggleStatusCmd, "") + Env("WOLBODGE_DEVICE_SHELL", &shell, "", logger) + Env("WOLBODGE_DEVICE_STATUS_COMMAND", &statusCmd, "", logger) + Env("WOLBODGE_DEVICE_TOGGLE_STATUS_COMMAND", &toggleStatusCmd, "", logger) return devices.NewCommand(shell, statusCmd, toggleStatusCmd), nil @@ -47,18 +47,22 @@ func NewDevice() (devices.Device, error) { } } -func Env(name string, out any, def string) { +func Env(name string, out any, def string, logger *log.Logger) { + if logger == nil { + logger = log.Default() + } + raw := os.Getenv(name) if raw == "" { raw = def - log.Printf("No \"%s\" provided, defaulting to \"%s\"", name, def) + logger.Printf("No \"%s\" provided, defaulting to \"%s\"", name, def) } switch value := out.(type) { case *int: i, err := strconv.ParseInt(raw, 10, 64) if err != nil { - log.Printf("\"%s\" is not a number (\"%s\")", name, raw) + logger.Printf("\"%s\" is not a number (\"%s\")", name, raw) return } diff --git a/main.go b/main.go index d2c496c..564184c 100644 --- a/main.go +++ b/main.go @@ -5,6 +5,7 @@ import ( "html/template" "log" "net/http" + "os" "git.1e99.eu/1e99/wolbodge/devices" "git.1e99.eu/1e99/wolbodge/routes" @@ -16,8 +17,10 @@ import ( var embed string func Run() error { + logger := log.New(os.Stdout, "", log.LstdFlags) + var address string - Env("WOLBODGE_ADDRESS", &address, ":3000") + Env("WOLBODGE_ADDRESS", &address, ":3000", logger) tmpl := template.New("") _, err := tmpl.Parse(embed) @@ -25,17 +28,16 @@ func Run() error { return fmt.Errorf("failed to parse template: %w", err) } - device, err := NewDevice() + device, err := NewDevice(logger) if err != nil { return fmt.Errorf("failed to create device: %w", err) } - storage, err := NewStorage() + storage, err := NewStorage(logger) if err != nil { return fmt.Errorf("failed to create session storage: %w", err) } - logger := log.Default() mux := http.NewServeMux() logger.Printf("Using device: %s", device.String())