import logging import os class Logger: def __init__(self, name, level=logging.INFO, log_file='app.log'): self.logger = logging.getLogger(name) self.logger.setLevel(level) self.log_file = log_file # ✅ Prevent adding multiple handlers if not self.logger.handlers: # Console handler c_handler = logging.StreamHandler() c_handler.setLevel(level) # File handler # f_handler = logging.FileHandler(log_file) # f_handler.setLevel(level) # Formatter formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') c_handler.setFormatter(formatter) # f_handler.setFormatter(formatter) # Add handlers to the logger self.logger.addHandler(c_handler) # self.logger.addHandler(f_handler) def get_logger(self): return self.logger def get_log_file_path(self): return self.log_file