From 363f7899f8b9ca7fecc7d318bc95f9db415ed146 Mon Sep 17 00:00:00 2001 From: Lukas Date: Mon, 18 May 2026 09:56:19 +0200 Subject: [PATCH] refactor(logging): reduce download log spam and set INFO level - Pass app logger to yt-dlp so internal [download] progress lines are routed through the INFO-level logger instead of stdout. - Throttle download_progress_handler debug logging to avoid flooding logs on every fragment tick. - Switch key provider lifecycle messages to INFO (start/complete) while keeping verbose details at DEBUG. - Set debug_enabled=False in development config so dev mode does not emit extra debug noise. - Update config docstring example from DEBUG to INFO. --- src/core/SeriesApp.py | 9 ++++++--- src/core/providers/aniworld_provider.py | 3 ++- src/core/providers/enhanced_provider.py | 1 + src/server/config/__init__.py | 2 +- src/server/config/development.py | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/core/SeriesApp.py b/src/core/SeriesApp.py index ee1df46..89cc146 100644 --- a/src/core/SeriesApp.py +++ b/src/core/SeriesApp.py @@ -445,9 +445,12 @@ class SeriesApp: try: def download_progress_handler(progress_info): """Handle download progress events from loader.""" - logger.debug( - "download_progress_handler called with: %s", progress_info - ) + # Throttle progress logging to avoid spam + status = progress_info.get("status", "") + if status in ("downloading", "finished"): + logger.debug( + "download_progress_handler called with: %s", progress_info + ) downloaded = progress_info.get('downloaded_bytes', 0) total_bytes = ( diff --git a/src/core/providers/aniworld_provider.py b/src/core/providers/aniworld_provider.py index 6538f04..38754a9 100644 --- a/src/core/providers/aniworld_provider.py +++ b/src/core/providers/aniworld_provider.py @@ -331,6 +331,7 @@ class AniworldLoader(Loader): 'no_warnings': True, 'progress_with_newline': False, 'nocheckcertificate': True, + 'logger': logger, 'progress_hooks': [events_progress_hook], } @@ -339,7 +340,7 @@ class AniworldLoader(Loader): logger.debug("Using custom headers for download") try: - logger.debug("Starting YoutubeDL download") + logger.info("Starting download: %s", output_file) logger.debug("Download link: %s...", link[:100]) logger.debug("YDL options: %s", ydl_opts) diff --git a/src/core/providers/enhanced_provider.py b/src/core/providers/enhanced_provider.py index 8679691..03e1cee 100644 --- a/src/core/providers/enhanced_provider.py +++ b/src/core/providers/enhanced_provider.py @@ -566,6 +566,7 @@ class EnhancedAniWorldLoader(Loader): "nocheckcertificate": True, "socket_timeout": self.download_timeout, "http_chunk_size": 1024 * 1024, # 1MB chunks + "logger": self.logger, } if headers: ydl_opts['http_headers'] = headers diff --git a/src/server/config/__init__.py b/src/server/config/__init__.py index 322fb17..f6d4903 100644 --- a/src/server/config/__init__.py +++ b/src/server/config/__init__.py @@ -39,7 +39,7 @@ def get_settings() -> Union[DevelopmentSettings, ProductionSettings]: Example: >>> settings = get_settings() >>> print(settings.log_level) - DEBUG + INFO """ if ENVIRONMENT in {"development", "testing"}: return get_development_settings() diff --git a/src/server/config/development.py b/src/server/config/development.py index 98cbab2..b3a8a9c 100644 --- a/src/server/config/development.py +++ b/src/server/config/development.py @@ -215,7 +215,7 @@ class DevelopmentSettings(BaseSettings): @property def debug_enabled(self) -> bool: """Check if debug mode is enabled.""" - return True + return False @property def reload_enabled(self) -> bool: