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() {
|
func main() {
|
||||||
logger, logFile, err := setupLogging()
|
rootLogger, 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.Sync()
|
||||||
defer logFile.Close()
|
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() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
logger.Error("uncaught panic recovered", "panic", r)
|
mainLogger.Error("uncaught panic recovered", "panic", r)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// Create service layer
|
// Create service layer
|
||||||
svc := service.NewService(logger)
|
svc := service.NewService(mainLogger)
|
||||||
|
|
||||||
logger.Info("service initialized")
|
mainLogger.Info("service initialized")
|
||||||
|
|
||||||
// Main loop
|
// Main loop
|
||||||
if err := svc.Run(); err != nil {
|
if err := svc.Run(); err != nil {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ type linuxService struct {
|
|||||||
// NewService creates a new Linux service instance
|
// NewService creates a new Linux service instance
|
||||||
func NewService(logger *slog.Logger) Service {
|
func NewService(logger *slog.Logger) Service {
|
||||||
return &linuxService{
|
return &linuxService{
|
||||||
logger: logger,
|
logger: logger.With("type", "service", "variant", "linux"),
|
||||||
app: app.NewApp(logger),
|
app: app.NewApp(logger),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ type WindowsService struct {
|
|||||||
func NewService(logger *slog.Logger) Service {
|
func NewService(logger *slog.Logger) Service {
|
||||||
return &WindowsService{
|
return &WindowsService{
|
||||||
logger: logger,
|
logger: logger,
|
||||||
app: app.NewApp(logger),
|
app: app.NewApp(logger.With("service", "windows")),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user