37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import logging
|
|
import os
|
|
from logging.handlers import RotatingFileHandler
|
|
|
|
def setup_logging():
|
|
# 1. Log-Verzeichnis erstellen (falls nicht vorhanden)
|
|
log_dir = "logs"
|
|
if not os.path.exists(log_dir):
|
|
os.makedirs(log_dir)
|
|
|
|
log_file = os.path.join(log_dir, "mindnet.log")
|
|
|
|
# 2. Formatter definieren (Zeitstempel | Level | Modul | Nachricht)
|
|
formatter = logging.Formatter(
|
|
'%(asctime)s | %(levelname)-8s | %(name)s | %(message)s',
|
|
datefmt='%Y-%m-%d %H:%M:%S'
|
|
)
|
|
|
|
# 3. File Handler: Schreibt in Datei (max. 5MB pro Datei, behält 5 Backups)
|
|
file_handler = RotatingFileHandler(
|
|
log_file, maxBytes=5*1024*1024, backupCount=5, encoding='utf-8'
|
|
)
|
|
file_handler.setFormatter(formatter)
|
|
file_handler.setLevel(logging.INFO)
|
|
|
|
# 4. Stream Handler: Schreibt weiterhin auf die Konsole
|
|
console_handler = logging.StreamHandler()
|
|
console_handler.setFormatter(formatter)
|
|
console_handler.setLevel(logging.INFO)
|
|
|
|
# 5. Root Logger konfigurieren
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
handlers=[file_handler, console_handler]
|
|
)
|
|
|
|
logging.info(f"📝 Logging initialized. Writing to {log_file}") |