import logging import os from dotenv import load_dotenv # Load environment variables from .env file load_dotenv() # Get log level from environment variable log_level = os.getenv('LOG_LEVEL', 'DEBUG') # Map log level names to logging module attributes log_level_dict = { 'CRITICAL': logging.CRITICAL, 'ERROR': logging.ERROR, 'WARNING': logging.WARNING, 'INFO': logging.INFO, 'DEBUG': logging.DEBUG, } # Create a custom logger logger = logging.getLogger(__name__) # Set the level of this logger. logger.setLevel(log_level_dict.get(log_level, logging.DEBUG)) # Create handlers c_handler = logging.StreamHandler() c_handler.setLevel(log_level_dict.get(log_level, logging.DEBUG)) # Create formatters and add it to handlers c_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') c_handler.setFormatter(c_format) # Add handlers to the logger logger.addHandler(c_handler)