From 65dd638b09710539646185ec8505715ff4effca4 Mon Sep 17 00:00:00 2001 From: Thomas Gander Date: Wed, 3 Dec 2025 23:30:58 -0700 Subject: [PATCH] Added logging --- .../ScheduledTasks/StaleMediaTask.cs | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/Jellyfin.Plugin.MediaCleaner/ScheduledTasks/StaleMediaTask.cs b/Jellyfin.Plugin.MediaCleaner/ScheduledTasks/StaleMediaTask.cs index 5bb686a..5fde7c6 100644 --- a/Jellyfin.Plugin.MediaCleaner/ScheduledTasks/StaleMediaTask.cs +++ b/Jellyfin.Plugin.MediaCleaner/ScheduledTasks/StaleMediaTask.cs @@ -102,7 +102,7 @@ public sealed class StaleMediaTask : IScheduledTask if (movieHasUserData) { var mostRecentUserData = movie.UserData.OrderByDescending(data => data.LastPlayedDate).First(); - if(mostRecentUserData.LastPlayedDate < DateTime.Now.AddDays(-Configuration.StaleMediaCutoff)) + if (mostRecentUserData.LastPlayedDate < DateTime.Now.AddDays(-Configuration.StaleMediaCutoff)) { staleMovies.Add(movie); } @@ -140,11 +140,11 @@ public sealed class StaleMediaTask : IScheduledTask series.ForEach(series => { seriesInfoList.Add(new SeriesInfo - { - Id = series.Id, - SeriesName = series.Name, - Seasons = [.. seasons.Where(season => season.ParentId == series.Id).Select(season => season.Name)] - }); + { + Id = series.Id, + SeriesName = series.Name, + Seasons = [.. seasons.Where(season => season.ParentId == series.Id).Select(season => season.Name)] + }); }); return seriesInfoList; @@ -169,18 +169,33 @@ public sealed class StaleMediaTask : IScheduledTask ParentId = season.Id, Recursive = false }); - bool seasonHasUserData = episodes.Any(episode => episode.UserData.Count > 0); + if (seasonHasUserData) + { + _logger.LogInformation("Season has user data for episodes: {Episodes}", episodes); + _logger.LogInformation("-------------------------------------------------"); + } bool seasonIsStale = episodes.All(episode => episode.DateCreated < DateTime.Now.AddDays(-Configuration.StaleMediaCutoff)); + if (seasonIsStale) + { + _logger.LogInformation("All episodes are outside media cutoff."); + _logger.LogInformation("-------------------------------------------------"); + } if (seasonHasUserData) { var episodesWithUserData = episodes.Where(episode => episode.UserData.Count > 0).ToList(); + _logger.LogInformation("Episodes with user data: {EpisodesWithUserData}", episodesWithUserData); + _logger.LogInformation("-------------------------------------------------"); foreach (var episode in episodesWithUserData) { var mostRecentUserData = episode.UserData.OrderByDescending(data => data.LastPlayedDate).First(); + _logger.LogInformation("Most recent user data: {MostRecentUserData}", mostRecentUserData); + _logger.LogInformation("-------------------------------------------------"); if (mostRecentUserData.LastPlayedDate < DateTime.Now.AddDays(-Configuration.StaleMediaCutoff)) { + _logger.LogInformation("Episodes outside of cutoff: {Episodes}", episodes); + _logger.LogInformation("-------------------------------------------------"); staleEpisodes.AddRange(episodes); break; } @@ -189,6 +204,8 @@ public sealed class StaleMediaTask : IScheduledTask // Check for episodes that have gone unwatched for stale media cutoff else if (seasonIsStale) { + _logger.LogInformation("No user data, adding all episodes as it is outside of cutoff."); + _logger.LogInformation("-------------------------------------------------"); staleEpisodes.AddRange(episodes); } }