X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/522d7fd117285e4e4ce3ea5ec9b5a1722521b681..6004a6d0f7af1ecf3d0ac976f50bb4f93c619887:/schedule.go?ds=sidebyside diff --git a/schedule.go b/schedule.go index d2f53e0..5da024d 100644 --- a/schedule.go +++ b/schedule.go @@ -6,7 +6,7 @@ import ( "encoding/json" "errors" "fmt" - "log" + "log/slog" "os" "slices" "strconv" @@ -51,7 +51,7 @@ const ( // openSchedules reads the schedules of the file at path. A missing file holds // none. The clock gives the time and the time zone of the schedules, and logger // gets one line for each run. -func openSchedules(path string, clock func() time.Time, logger *log.Logger) (*Schedules, error) { +func openSchedules(path string, clock func() time.Time, logger *slog.Logger) (*Schedules, error) { s := &Schedules{ path: path, clock: clock, @@ -96,7 +96,7 @@ func openSchedules(path string, clock func() time.Time, logger *log.Logger) (*Sc type Schedules struct { path string clock func() time.Time - logger *log.Logger + logger *slog.Logger check time.Duration changed chan struct{} @@ -281,12 +281,13 @@ func (s *Schedules) deliver(ctx context.Context, l *TurnLoop) error { return err } + attrs := []any{"id", schedule.ID} if schedule.late(now) { - s.logger.Printf("schedule %d ran %s late", schedule.ID, durationText(now.Sub(schedule.Due))) - } else { - s.logger.Printf("schedule %d ran", schedule.ID) + attrs = append(attrs, "late", now.Sub(schedule.Due)) } + s.logger.Info("schedule ran", attrs...) + turns = append(turns, message) }