import logging from logging.handlers import RotatingFileHandler from app.config import LOG_LEVEL, LOG_FILE, LOG_MAX_BYTES, LOG_BACKUP_COUNT logger = logging.getLogger("send_notifications") if not logger.handlers: logger.setLevel(LOG_LEVEL) ch = logging.StreamHandler() ch.setLevel(LOG_LEVEL) ch_formatter = logging.Formatter( "%(asctime)s.%(msecs)03d %(levelname)s [%(name)s] %(message)s", datefmt="%Y-%m-%d %H:%M:%S", ) ch.setFormatter(ch_formatter) logger.addHandler(ch) try: fh = RotatingFileHandler(LOG_FILE, maxBytes=LOG_MAX_BYTES, backupCount=LOG_BACKUP_COUNT) fh.setLevel(LOG_LEVEL) fh.setFormatter(ch_formatter) logger.addHandler(fh) except Exception as e: logger.warning("Failed to create file handler for logging: %s", e) log = logger