
    i                     N    d dl Z d dlmZ d dlmZ d dlmZ d	dede j        fdZ	dS )
    N)TimedRotatingFileHandler)Path)get_request_idappnamereturnc                    t          j        |           }|j        r|S t          d          }|                    d           |dz  } G d dt           j                  }t          j        d          }t          |dd	d
d          }|                    |           |	                    t           j
                   |                     |                       |	                    t           j
                   |                    |           |S )NlogsT)exist_okzapp.logc                   (    e Zd Zdej        defdZdS )#get_logger.<locals>.RequestIdFilterrecordr   c                 0    t                      pd|_        dS )N-T)r   
request_id)selfr   s     /code/app/utils/logger.pyfilterz*get_logger.<locals>.RequestIdFilter.filter   s     . 0 0 7CF4    N)__name__
__module____qualname__logging	LogRecordboolr    r   r   RequestIdFilterr      s9        	!2 	t 	 	 	 	 	 	r   r   z=%(asctime)s %(levelname)s %(name)s %(request_id)s %(message)smidnight   
   )whenintervalbackupCountutc)r   	getLoggerhandlersr   mkdirFilter	Formatterr   setFormattersetLevelINFO	addFilter
addHandler)r   loggerlog_dirlog_pathr   	formatterfile_handlers          r   
get_loggerr4      s'   t$$F 6llGMM4M   "H    '.   
 !G I ,  L i(((','''??,,---
OOGL!!!
l###Mr   )r   )
r   logging.handlersr   pathlibr   app.utils.request_contextr   strLoggerr4   r   r   r   <module>r:      sw     5 5 5 5 5 5       4 4 4 4 4 4   S  W^            r   