o
    @h                     @   sB   d dl Z d dlZdZg dZeZd
dedB dede jfdd	ZdS )    Nz4%(asctime)s - %(name)s - %(levelname)s - %(message)s)DEBUGINFOWARNINGERRORr   namelevelreturnc                 C   sb   t j| d}t tj}t t}|| || |r!|t	vr)|
d| d}|j|d |S )aA  
    Create and configures a logger for logging messages.

    Parameters
    ----------
        name (Optional[str]): The name of the logger. Defaults to None.
        level (DebugLevel): The logging level. Defaults to DebugLevel.DEBUG.

    Returns
    -------
        logging.Logger: The configured logger object.
    )r   z9Invalid logging level %s. Setting logging level to DEBUG.r   )r   )logging	getLoggerStreamHandlersysstdout	FormatterLOGGING_FORMATTERsetFormatter
addHandlerDebugLevelswarningsetLevel)r   r   loggerhandler	formatter r   ;/var/www/html/RetailApiNew/retail-simulation-api/app/log.py
get_logger   s   


r   )Nr   )r	   r   r   r   strDebugLevelTypeLoggerr   r   r   r   r   <module>   s    "