watchyourlan/internal/web/routines-upd.go
2025-03-17 03:46:03 -05:00

53 lines
988 B
Go

package web
import (
"log/slog"
"github.com/aceberg/WatchYourLAN/internal/db"
"github.com/aceberg/WatchYourLAN/internal/prometheus"
)
func updateRoutines() {
slog.Debug("Restarting scan routine")
close(quitScan)
setLogLevel()
db.SetCurrent(appConfig)
db.Create()
allHosts = db.Select("now")
if appConfig.PrometheusEnable {
prometheus.NewMetrics()
} else {
prometheus.RemoveMetrics()
}
quitScan = make(chan bool)
go startScan(quitScan) // scan-routine.go
}
func setLogLevel() {
var level slog.Level
switch appConfig.LogLevel {
case "debug":
slog.Info("Log level=DEBUG")
level = slog.LevelDebug
case "info":
slog.Info("Log level=INFO")
level = slog.LevelInfo
case "warn":
slog.Info("Log level=WARN")
level = slog.LevelWarn
case "error":
slog.Info("Log level=ERROR")
level = slog.LevelError
default:
slog.Error("Invalid log level. Setting default level INFO")
slog.SetLogLoggerLevel(slog.LevelInfo)
}
slog.SetLogLoggerLevel(level)
}