refactor: set slog global logger, distinguish root from main logger, linux from windows logger

This commit is contained in:
2025-07-31 16:23:00 -05:00
parent 79240db736
commit 22ad371760
3 changed files with 10 additions and 7 deletions

View File

@@ -18,25 +18,28 @@ var (
)
func main() {
logger, logFile, err := setupLogging()
rootLogger, logFile, err := setupLogging()
if err != nil {
log.Fatalf("failed to setup logging: %v", err)
}
defer logFile.Sync()
defer logFile.Close()
logger.Info("HATray started", "version", Version, "commit", Commit, "built", BuildDate)
mainLogger := rootLogger.With("type", "main")
slog.SetDefault(rootLogger.With("type", "global"))
mainLogger.Info("HATray started", "version", Version, "commit", Commit, "built", BuildDate)
defer func() {
if r := recover(); r != nil {
logger.Error("uncaught panic recovered", "panic", r)
mainLogger.Error("uncaught panic recovered", "panic", r)
}
}()
// Create service layer
svc := service.NewService(logger)
svc := service.NewService(mainLogger)
logger.Info("service initialized")
mainLogger.Info("service initialized")
// Main loop
if err := svc.Run(); err != nil {

View File

@@ -26,7 +26,7 @@ type linuxService struct {
// NewService creates a new Linux service instance
func NewService(logger *slog.Logger) Service {
return &linuxService{
logger: logger,
logger: logger.With("type", "service", "variant", "linux"),
app: app.NewApp(logger),
}
}

View File

@@ -25,7 +25,7 @@ type WindowsService struct {
func NewService(logger *slog.Logger) Service {
return &WindowsService{
logger: logger,
app: app.NewApp(logger),
app: app.NewApp(logger.With("service", "windows")),
}
}