everything is now logged to stdout
This commit is contained in:
parent
22327ce8ce
commit
c31ed4ed27
3 changed files with 32 additions and 14 deletions
12
a
Normal file
12
a
Normal file
|
@ -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
|
24
env.go
24
env.go
|
@ -11,9 +11,9 @@ import (
|
||||||
"git.1e99.eu/1e99/wolbodge/sessions"
|
"git.1e99.eu/1e99/wolbodge/sessions"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewStorage() (sessions.Storage, error) {
|
func NewStorage(logger *log.Logger) (sessions.Storage, error) {
|
||||||
var storageType string
|
var storageType string
|
||||||
Env("WOLBODGE_STORAGE_TYPE", &storageType, "mem")
|
Env("WOLBODGE_STORAGE_TYPE", &storageType, "mem", logger)
|
||||||
|
|
||||||
switch storageType {
|
switch storageType {
|
||||||
case "mem", "memory":
|
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
|
var deviceType string
|
||||||
Env("WOLBODGE_DEVICE_TYPE", &deviceType, "test")
|
Env("WOLBODGE_DEVICE_TYPE", &deviceType, "test", logger)
|
||||||
|
|
||||||
switch deviceType {
|
switch deviceType {
|
||||||
case "test":
|
case "test":
|
||||||
|
@ -36,9 +36,9 @@ func NewDevice() (devices.Device, error) {
|
||||||
var shell []string
|
var shell []string
|
||||||
var statusCmd string
|
var statusCmd string
|
||||||
var toggleStatusCmd string
|
var toggleStatusCmd string
|
||||||
Env("WOLBODGE_DEVICE_SHELL", &shell, "")
|
Env("WOLBODGE_DEVICE_SHELL", &shell, "", logger)
|
||||||
Env("WOLBODGE_DEVICE_STATUS_COMMAND", &statusCmd, "")
|
Env("WOLBODGE_DEVICE_STATUS_COMMAND", &statusCmd, "", logger)
|
||||||
Env("WOLBODGE_DEVICE_TOGGLE_STATUS_COMMAND", &toggleStatusCmd, "")
|
Env("WOLBODGE_DEVICE_TOGGLE_STATUS_COMMAND", &toggleStatusCmd, "", logger)
|
||||||
|
|
||||||
return devices.NewCommand(shell, statusCmd, toggleStatusCmd), nil
|
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)
|
raw := os.Getenv(name)
|
||||||
if raw == "" {
|
if raw == "" {
|
||||||
raw = def
|
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) {
|
switch value := out.(type) {
|
||||||
case *int:
|
case *int:
|
||||||
i, err := strconv.ParseInt(raw, 10, 64)
|
i, err := strconv.ParseInt(raw, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("\"%s\" is not a number (\"%s\")", name, raw)
|
logger.Printf("\"%s\" is not a number (\"%s\")", name, raw)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
10
main.go
10
main.go
|
@ -5,6 +5,7 @@ import (
|
||||||
"html/template"
|
"html/template"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"os"
|
||||||
|
|
||||||
"git.1e99.eu/1e99/wolbodge/devices"
|
"git.1e99.eu/1e99/wolbodge/devices"
|
||||||
"git.1e99.eu/1e99/wolbodge/routes"
|
"git.1e99.eu/1e99/wolbodge/routes"
|
||||||
|
@ -16,8 +17,10 @@ import (
|
||||||
var embed string
|
var embed string
|
||||||
|
|
||||||
func Run() error {
|
func Run() error {
|
||||||
|
logger := log.New(os.Stdout, "", log.LstdFlags)
|
||||||
|
|
||||||
var address string
|
var address string
|
||||||
Env("WOLBODGE_ADDRESS", &address, ":3000")
|
Env("WOLBODGE_ADDRESS", &address, ":3000", logger)
|
||||||
|
|
||||||
tmpl := template.New("")
|
tmpl := template.New("")
|
||||||
_, err := tmpl.Parse(embed)
|
_, err := tmpl.Parse(embed)
|
||||||
|
@ -25,17 +28,16 @@ func Run() error {
|
||||||
return fmt.Errorf("failed to parse template: %w", err)
|
return fmt.Errorf("failed to parse template: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
device, err := NewDevice()
|
device, err := NewDevice(logger)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to create device: %w", err)
|
return fmt.Errorf("failed to create device: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
storage, err := NewStorage()
|
storage, err := NewStorage(logger)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to create session storage: %w", err)
|
return fmt.Errorf("failed to create session storage: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
logger := log.Default()
|
|
||||||
mux := http.NewServeMux()
|
mux := http.NewServeMux()
|
||||||
|
|
||||||
logger.Printf("Using device: %s", device.String())
|
logger.Printf("Using device: %s", device.String())
|
||||||
|
|
Loading…
Add table
Reference in a new issue