diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-03 21:14:09 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-03 21:14:09 +0300 |
| commit | 600f50dac5f33eac14bfbcd15addaf210a260879 (patch) | |
| tree | 6c0745d443a4ac6279c934f51d7024de5aaf1dde /internal/service/admin.go | |
| parent | 0f8ac296db2d062b566d71ec7ce041b6cf9279d6 (diff) | |
Task 8: standardize scanner and handler logging
Diffstat (limited to 'internal/service/admin.go')
| -rw-r--r-- | internal/service/admin.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/internal/service/admin.go b/internal/service/admin.go index fb35631..bd745af 100644 --- a/internal/service/admin.go +++ b/internal/service/admin.go @@ -3,6 +3,7 @@ package service import ( "context" "fmt" + "log/slog" "sync" "time" @@ -20,6 +21,7 @@ type adminService struct { hasher auth.Hasher scanner scanner.Scanner mediaRoot string + logger *slog.Logger mu sync.Mutex scanCancel context.CancelFunc progress *model.ScanProgress @@ -27,12 +29,21 @@ type adminService struct { // NewAdminService creates a concrete AdminService. func NewAdminService(store repository.AdminServiceStore, clk clock.Clock, hasher auth.Hasher, sc scanner.Scanner, mediaRoot string) AdminService { + return NewAdminServiceWithLogger(store, clk, hasher, sc, mediaRoot, slog.Default()) +} + +// NewAdminServiceWithLogger creates a concrete AdminService with an injected logger. +func NewAdminServiceWithLogger(store repository.AdminServiceStore, clk clock.Clock, hasher auth.Hasher, sc scanner.Scanner, mediaRoot string, logger *slog.Logger) AdminService { + if logger == nil { + logger = slog.Default() + } return &adminService{ store: store, clock: clk, hasher: hasher, scanner: sc, mediaRoot: mediaRoot, + logger: logger, } } @@ -61,10 +72,10 @@ func (s *adminService) TriggerRescan(ctx context.Context) error { defer cancel() if err := s.scanner.Scan(scanCtx, s.mediaRoot, progress); err != nil { progress.Done(err) - fmt.Printf("[rescan] scan failed: %v\n", err) + s.logger.Error("rescan failed", "err", err) } else { progress.Done(nil) - fmt.Printf("[rescan] scan completed\n") + s.logger.Info("rescan completed") } }() return nil |
