mirror of
https://github.com/Xevion/HATray.git
synced 2025-12-05 23:15:09 -06:00
refactor: set slog global logger, distinguish root from main logger, linux from windows logger
This commit is contained in:
13
cmd/main.go
13
cmd/main.go
@@ -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 {
|
||||
|
||||
@@ -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),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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")),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user