import os import logging from logging.handlers import RotatingFileHandler log_file = 'sustainability_report_extractor.log' log_dir = 'logs/app' log_level=logging.INFO def get_logger(): if not os.path.exists(log_dir): os.makedirs(log_dir) log_file_path = os.path.join(log_dir, log_file) logger = logging.getLogger(__name__) if not logger.hasHandlers(): logger.setLevel(log_level) console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) file_handler = RotatingFileHandler(log_file_path, maxBytes=5*1024*1024, backupCount=3) file_handler.setLevel(logging.INFO) log_format = '%(asctime)s - %(levelname)s - %(message)s' formatter = logging.Formatter(log_format, datefmt='%Y-%m-%d %H:%M') console_handler.setFormatter(formatter) file_handler.setFormatter(formatter) logger.addHandler(console_handler) logger.addHandler(file_handler) return logger