import logging import os from logging.handlers import RotatingFileHandler LOG_DIR = "logs" LOG_FILE = "app.log" LOG_PATH = os.path.join(LOG_DIR, LOG_FILE) class LoggerFactory: #logger.info("Connected with result code %s", str(rc)) #logger.warning("Neue MAC-Adresse gefunden: %s", mac) #logger.error("Failed writing to InfluxDb: %s", e) @staticmethod def get_logger(name: str, level=logging.DEBUG) -> logging.Logger: if not os.path.exists(LOG_DIR): os.makedirs(LOG_DIR) logger = logging.getLogger(name) if logger.hasHandlers(): return logger # vermeidet doppelte Handler logger.setLevel(level) formatter = logging.Formatter( '[%(asctime)s] %(levelname)s in %(name)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S' ) file_handler = RotatingFileHandler(LOG_PATH, maxBytes=5_000_000, backupCount=5) file_handler.setFormatter(formatter) logger.addHandler(file_handler) return logger