From 12ba4b6aea92ba811c77125d774e6c027016fcf8 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Thu, 4 Sep 2025 07:38:06 +0000 Subject: [PATCH] chore(model): adjust folder state logging (fixes #10350) (#10353) Removes the chitter-chatter of folder state changes from the info level, while adding the error state at warning level and a corresponding clearing of the error state at info level. Signed-off-by: Jakob Borg --- lib/model/folderstate.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/model/folderstate.go b/lib/model/folderstate.go index ac8e201f5..60f3fef5c 100644 --- a/lib/model/folderstate.go +++ b/lib/model/folderstate.go @@ -11,6 +11,7 @@ import ( "sync" "time" + "github.com/syncthing/syncthing/internal/slogutil" "github.com/syncthing/syncthing/lib/events" ) @@ -125,11 +126,12 @@ func (s *stateTracker) setState(newState folderState) { eventData["duration"] = time.Since(s.changed).Seconds() } + slog.Debug("Folder changed state", "folder", s.folderID, "state", newState, "from", s.current) + s.current = newState s.changed = time.Now().Truncate(time.Second) s.evLogger.Log(events.StateChanged, eventData) - slog.Info("Folder changed state", "folder", s.folderID, "state", newState) } // getState returns the current state, the time when it last changed, and the @@ -156,6 +158,12 @@ func (s *stateTracker) setError(err error) { "from": s.current.String(), } + if err != nil && s.current != FolderError { + slog.Warn("Folder is in error state", slog.String("folder", s.folderID), slogutil.Error(err)) + } else if err == nil && s.current == FolderError { + slog.Info("Folder error state was cleared", slog.String("folder", s.folderID)) + } + if err != nil { eventData["error"] = err.Error() s.current = FolderError