diff --git a/helpers.py b/helpers.py index 54f2ef8a..c3abe90e 100644 --- a/helpers.py +++ b/helpers.py @@ -67,6 +67,28 @@ from config import Config, BRANCH_MAPPING_FILE, URL_CHECK_MARKER, USER_AGENTS # ============================================================================== decorator_logger = logging.getLogger(__name__ + ".Retry") +def setup_logging(log_level=logging.INFO): + """ + Konfiguriert das zentrale Logging für alle Skripte. + Verwendet einen StreamHandler und verhindert das Hinzufügen doppelter Handler. + """ + # Überprüfen, ob bereits Handler für den Root-Logger konfiguriert sind + if not logging.getLogger().handlers: + logger = logging.getLogger() + logger.setLevel(log_level) + log_format = '%(asctime)s - %(levelname)-8s - %(name)-25s - %(message)s' + formatter = logging.Formatter(log_format) + + # Stream Handler für die Konsolenausgabe + stream_handler = logging.StreamHandler() + stream_handler.setLevel(log_level) + stream_handler.setFormatter(formatter) + logger.addHandler(stream_handler) + + # Wichtig: force=True in basicConfig kann zu Problemen führen, wenn es + # mehrfach aufgerufen wird. Dieser Ansatz ist stabiler. + logging.info("Zentrales Logging erfolgreich konfiguriert.") + def retry_on_failure(func): """ Decorator, der eine Funktion bei bestimmten Fehlern mehrmals wiederholt.