food-analyzer-API / logger_manager.py
Prathamesh Sable
working ids task and logging changes
9b92ec5
import logging
from logging.handlers import RotatingFileHandler
# Configure logging
logger = logging.getLogger("food_analyzer")
logger.setLevel(logging.DEBUG)
# Create a file handler that logs debug and higher level messages
file_handler = RotatingFileHandler("food_analyzer.log", maxBytes=5*1024*1024, backupCount=3)
file_handler.setLevel(logging.DEBUG)
# Create a console handler that logs error and higher level messages
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.ERROR)
# Create a formatter and set it for both handlers
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s - %(pathname)s:%(lineno)d")
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
# Add the handlers to the logger
logger.addHandler(file_handler)
logger.addHandler(console_handler)
def log_debug(message: str):
logger.debug(message)
def log_info(message: str):
logger.info(message)
def log_warning(message: str):
logger.warning(message)
def log_error(message: str, exc: Exception = None):
if exc:
logger.error(message, exc_info=True)
else:
logger.error(message)
def log_critical(message: str):
logger.critical(message)