From ebad9607a27035712d4607f106243ca6495b05ca Mon Sep 17 00:00:00 2001 From: oberon Date: Thu, 12 Feb 2026 21:58:05 +0100 Subject: [PATCH] added daily logfiles --- app.py | 45 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/app.py b/app.py index 5ab0e93..ea3554b 100644 --- a/app.py +++ b/app.py @@ -2,6 +2,8 @@ import os import json import logging +from logging.handlers import TimedRotatingFileHandler +from datetime import datetime from flask import Flask, render_template, redirect, url_for, send_from_directory, request, jsonify # ── Bluetooth ──────────────────────────────────────────────────────────────── @@ -14,14 +16,43 @@ app = Flask(__name__) app.config['CONFIG_DIR'] = 'configs' os.makedirs(app.config['CONFIG_DIR'], exist_ok=True) -# Logging -logging.basicConfig( - filename='app.log', - level=logging.INFO, - format='%(asctime)s | %(levelname)-8s | %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) +# ── Logging ──────────────────────────────────────────────────────────────── + +# Logging-Verzeichnis +LOG_DIR = 'logs' +os.makedirs(LOG_DIR, exist_ok=True) + +# Täglich neuer Ordner (z. B. logs/2026-02) +today = datetime.now().strftime('%Y-%m') +current_log_subdir = os.path.join(LOG_DIR, today) +os.makedirs(current_log_subdir, exist_ok=True) + +# Log-Datei: z. B. logs/2026-02/12.log +log_filename = os.path.join(current_log_subdir, datetime.now().strftime('%d.log')) + +# Logging konfigurieren logger = logging.getLogger(__name__) +logger.setLevel(logging.INFO) + +# Handler: schreibt in die tagesaktuelle Datei +handler = logging.FileHandler(log_filename) +handler.setLevel(logging.INFO) + +# Format +formatter = logging.Formatter('%(asctime)s | %(levelname)-8s | %(message)s', datefmt='%Y-%m-%d %H:%M:%S') +handler.setFormatter(formatter) + +# Alten Handler entfernen (falls schon gesetzt) +logger.handlers.clear() +logger.addHandler(handler) + +# Optional: Auch in Konsole loggen (für Entwicklung) +console_handler = logging.StreamHandler() +console_handler.setFormatter(formatter) +logger.addHandler(console_handler) + +logger.info("Logging neu initialisiert – Tages-Log: " + log_filename) + # Bluetooth-Komponenten (einmalig initialisieren) tracer = TracerConsole()