This commit is contained in:
2025-07-02 05:20:10 +00:00
parent 5fb60b8b19
commit d9a5a41ead

View File

@@ -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.