mirror of
https://github.com/Xevion/HATray.git
synced 2025-12-05 23:15:09 -06:00
chore: cleanup cmd/main.go, defer log file sync
This commit is contained in:
13
cmd/main.go
13
cmd/main.go
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user