chore: cleanup cmd/main.go, defer log file sync

This commit is contained in:
2025-06-22 18:46:08 -05:00
parent 151fe6eb1c
commit 2a23ddc9a5

View File

@@ -13,35 +13,32 @@ import (
) )
func main() { func main() {
// Setup logging
logger, logFile, err := setupLogging() logger, logFile, err := setupLogging()
if err != nil { if err != nil {
log.Fatalf("Failed to setup logging: %v", err) log.Fatalf("Failed to setup logging: %v", err)
} }
defer logFile.Sync()
defer logFile.Close() defer logFile.Close()
// Setup panic recovery
defer func() { defer func() {
if r := recover(); r != nil { if r := recover(); r != nil {
logger.Error("Panic recovered", "panic", r) logger.Error("Uncaught panic recovered", "panic", r)
} }
}() }()
// Create app layer // Create app layer and service layer
appLayer := app.NewApp(logger) appLayer := app.NewApp(logger)
// Create and run service
svc := service.NewService(logger, appLayer) svc := service.NewService(logger, appLayer)
logger.Info("Starting HATray application") logger.Info("HATray initialized, running service")
// Main loop
if err := svc.Run(); err != nil { if err := svc.Run(); err != nil {
fmt.Fprintf(os.Stderr, "Application error: %v\n", err) fmt.Fprintf(os.Stderr, "Application error: %v\n", err)
os.Exit(1) os.Exit(1)
} }
} }
// setupLogging initializes structured logging
func setupLogging() (*slog.Logger, *os.File, error) { func setupLogging() (*slog.Logger, *os.File, error) {
// Get the directory where the executable is located // Get the directory where the executable is located
exePath, err := os.Executable() exePath, err := os.Executable()