🎉 Improved backend log management structure & added utility settings 🧱

This commit is contained in:
2025-06-16 18:08:59 +02:00
parent a1782ce6b5
commit 00d45dd38d
18 changed files with 233 additions and 48 deletions

View File

@@ -420,13 +420,8 @@ app_logger = get_logger("app")
# ===== FLASK-APP INITIALISIERUNG =====
app = Flask(__name__)
# Konfiguration anwenden basierend auf Environment
if USE_PRODUCTION_CONFIG:
apply_production_config(app)
app_logger.info(f"[INIT] ✅ Production-Konfiguration angewendet")
else:
apply_development_config(app)
app_logger.info(f"[INIT] ✅ Development-Konfiguration angewendet")
# Konfiguration anwenden basierend auf Environment wird später gemacht
# (nach Definition der apply_*_config Funktionen)
# Session-Manager initialisieren
session_manager.init_app(app)
@@ -520,41 +515,7 @@ def register_aggressive_shutdown():
# Shutdown-Handler registrieren
register_aggressive_shutdown()
def apply_production_config(app):
"""Wendet die Production-Konfiguration auf die Flask-App an"""
app_logger.info("[PRODUCTION] Aktiviere Production-Konfiguration für Mercedes-Benz TBA")
# Dynamische Werte setzen
app.config.from_object(ProductionConfig)
app.config['SECRET_KEY'] = SECRET_KEY
app.config['PERMANENT_SESSION_LIFETIME'] = SESSION_LIFETIME
# SSL-Konfiguration
app.config['PREFERRED_URL_SCHEME'] = 'https'
# Security Headers setzen
@app.after_request
def set_security_headers(response):
"""Setzt Production-Security-Headers"""
for header, value in ProductionConfig.SECURITY_HEADERS.items():
response.headers[header] = value
return response
app_logger.info("[PRODUCTION] ✅ Production-Konfiguration aktiviert")
def apply_development_config(app):
"""Wendet die Development-Konfiguration auf die Flask-App an"""
app_logger.info("[DEVELOPMENT] Aktiviere Development-Konfiguration")
# Dynamische Werte setzen
app.config.from_object(DevelopmentConfig)
app.config['SECRET_KEY'] = SECRET_KEY
app.config['PERMANENT_SESSION_LIFETIME'] = SESSION_LIFETIME
# HTTP für Development
app.config['PREFERRED_URL_SCHEME'] = 'http'
app_logger.info("[DEVELOPMENT] ✅ Development-Konfiguration aktiviert")
def apply_production_config(app):
"""Wendet die Production-Konfiguration auf die Flask-App an"""
@@ -663,10 +624,6 @@ def apply_development_config(app):
app_logger.info(f"[DEVELOPMENT] ✅ Debug Mode: {DevelopmentConfig.DEBUG}")
app_logger.info(f"[DEVELOPMENT] ✅ SQL Echo: {DevelopmentConfig.SQLALCHEMY_ENGINE_OPTIONS.get('echo', False)}")
# Flask-App initialisieren
app = Flask(__name__)
app.secret_key = SECRET_KEY
# ===== KONFIGURATION ANWENDEN =====
# Jetzt können wir die Funktionen aufrufen, da sie definiert sind
ENVIRONMENT_TYPE = get_environment_type()
@@ -678,13 +635,12 @@ app_logger.info(f"[CONFIG] Production-Modus: {USE_PRODUCTION_CONFIG}")
if USE_PRODUCTION_CONFIG:
apply_production_config(app)
else:
# Development-Konfiguration (konsolidiert default/fallback)
app_logger.info("[CONFIG] Verwende Development-Konfiguration")
apply_development_config(app)
# Umgebungs-spezifische Einstellungen werden bereits oben gesetzt
# Umgebungs-spezifische Einstellungen
if OFFLINE_MODE:
app_logger.info("[CONFIG] ✅ Air-Gapped/Offline-Modus aktiviert")
app.config['DISABLE_EXTERNAL_REQUESTS'] = True