o
    c۷i?                     @   sb   d Z ddlZddlZddlZddlmZ dedeeef fddZdd	edej	fd
dZ
e
 ZdS )z<Logging configuration for model hosting container standards.    N)Unionlevelreturnc                 C   s*   |   } zt| W S  ty   |  Y S w )zParse a log level string into a valid logging level.

    Args:
        level: Log level string to parse.

    Returns:
        Valid logging level.
    )upperint
ValueError)r    r   f/home/ubuntu/vllm_env/lib/python3.10/site-packages/model_hosting_container_standards/logging_config.pyparse_level	   s   

r
   !model_hosting_container_standardsnamec              
   C   s   t | }|jsFtdtdd}t tj}t d}|	| |
| z	|t| W n tttfyB   |t j Y nw d|_|S )a'  Get a configured logger for the package.

    The logger uses SAGEMAKER_CONTAINER_LOG_LEVEL (or LOG_LEVEL) to determine the log level.
    If not set, defaults to ERROR level, which effectively disables most package logging.

    Returns:
        Configured logger instance for the package.
    SAGEMAKER_CONTAINER_LOG_LEVEL	LOG_LEVELERRORz?[%(levelname)s] %(name)s - %(filename)s:%(lineno)d: %(message)sF)logging	getLoggerhandlersosgetenvStreamHandlersysstdout	FormattersetFormatter
addHandlersetLevelr
   r   AttributeError	TypeErrorr   	propagate)r   loggerr   handler	formatterr   r   r	   
get_logger   s$   
	

r"   )r   )__doc__r   r   r   typingr   strr   r
   Loggerr"   r   r   r   r   r	   <module>   s    
*