Ë
    ÝÄ'j†	  ã                   óŒ   — d dl Z d dlZd dlmZ  ej                  dd«      ZdZ G d„ de j                  «      Zddedz  d	dfd
„Z	y)é    N)ÚdatetimeÚLOG_DIRÚlogsz1%(asctime)s [%(levelname)s] %(name)s: %(message)sc                   óT   ‡ — e Zd ZdZedfdedefˆ fd„Zdefd„Zd„ Z	d	„ Z
ˆ fd
„Zˆ xZS )ÚMonthlyFileHandlerz?Writes to logs/YYYY-MM[-error].log, rotates when month changes.FÚlog_dirÚerrors_onlyc                 óZ   •— t         ‰| �  «        || _        || _        d | _        d | _        y ©N)ÚsuperÚ__init__r   r	   Ú_monthÚ_stream)Úselfr   r	   Ú	__class__s      €ú5/var/www/html/zammad-automation/app/logging_config.pyr   zMonthlyFileHandler.__init__   s+   ø€ Ü‰ÑÔØˆŒØ&ˆÔØ"&ˆŒØˆ�ó    Úreturnc                 ó"   — | j                   rdS dS )Nz-errorÚ ©r	   )r   s    r   Ú_suffixzMonthlyFileHandler._suffix   s   € Ø×+Ò+ˆxÐ3°Ð3r   c                 ó¶  — t        j                  «       j                  d«      }|| j                  k7  rœ| j                  r| j                  j                  «        t        j                  | j                  d¬«       t        t        j                  j                  | j                  |› | j                  «       › d�«      dd¬«      | _        || _        | j                  S )Nz%Y-%mT)Úexist_okz.logÚazutf-8)Úencoding)r   ÚnowÚstrftimer   r   ÚcloseÚosÚmakedirsr   ÚopenÚpathÚjoinr   )r   Úmonths     r   Ú_current_streamz"MonthlyFileHandler._current_stream   s™   € Ü—‘“×'Ñ'¨Ó0ˆØ�D—K‘KÒØ�|Š|Ø—‘×"Ñ"Ô$Ü�K‰K˜Ÿ™¨tÕ4ÜÜ—‘—‘˜TŸ\™\¨e¨W°T·\±\³^Ð4DÀDÐ+IÓJØ˜gôˆDŒLð  ˆDŒKØ�|‰|Ðr   c                 óÐ   — 	 | j                  |«      }| j                  «       }|j                  |dz   «       |j                  «        y # t        $ r | j                  |«       Y y w xY w)NÚ
)Úformatr&   ÚwriteÚflushÚ	ExceptionÚhandleError)r   ÚrecordÚmsgÚss       r   ÚemitzMonthlyFileHandler.emit#   sY   € ð	%Ø—+‘+˜fÓ%ˆCØ×$Ñ$Ó&ˆAØ�G‰G�C˜$‘JÔØ�G‰G�IøÜò 	%Ø×Ñ˜VÖ$ð	%ús   ‚AA ÁA%Á$A%c                 ón   •— | j                   r| j                   j                  «        t        ‰| �  «        y r   )r   r   r   )r   r   s    €r   r   zMonthlyFileHandler.close,   s#   ø€ Ø�<Š<Ø�L‰L×ÑÔ Ü‰‰�r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrÚboolr   r   r&   r1   r   Ú__classcell__)r   s   @r   r   r   	   s>   ø„ ÙIà&-À5ñ  ð ¸Dõ ð4˜ó 4òò%÷ð r   r   Úlevelr   c                 ó$  — dd l }| €D |j                  dd«      j                  «       dk(  rt        j                  nt        j
                  } t        j                  t        «      }t        j                  «       }|j                  |«       t        d¬«      }|j                  |«       |j                  d„ «       t        d¬«      }|j                  |«       |j                  t        j                  «       t        j                  «       }|j                  | «       |j                  s3|j!                  |«       |j!                  |«       |j!                  |«       d	D ]4  }t        j                  |«      j                  t        j"                  «       Œ6 y )
Nr   ÚDEBUGr   ÚtrueFr   c                 ó<   — | j                   t        j                  k  S r   )ÚlevelnoÚloggingÚERROR)Úrs    r   ú<lambda>zsetup_logging.<locals>.<lambda>>   s   €  !§)¡)¬g¯m©mÑ";€ r   T)ÚhttpcoreÚhttpxÚgoogle_genaiÚopenaiÚ	anthropicÚurllib3)r    ÚgetenvÚlowerr@   r<   ÚINFOÚ	FormatterÚ_FMTÚStreamHandlerÚsetFormatterr   Ú	addFilterÚsetLevelrA   Ú	getLoggerÚhandlersÚ
addHandlerÚWARNING)r:   r    ÚfmtÚconsoleÚ	general_hÚerror_hÚrootÚnoisys           r   Úsetup_loggingr]   2   s+  € ÛØ€}Ø!* §¡¨7°BÓ!7×!=Ñ!=Ó!?À6Ò!I”—’ÌwÏ|É|ˆÜ
×
Ñ
œDÓ
!€Cä×#Ñ#Ó%€GØ×Ñ˜Ôô #¨uÔ5€IØ×Ñ˜3ÔØ×ÑÑ;Ô<ô !¨TÔ2€GØ×Ñ˜ÔØ×Ñ”W—]‘]Ô#ä×ÑÓ€DØ‡M�M�%ÔØ�=Š=Ø�‰˜Ô Ø�‰˜	Ô"Ø�‰˜Ô ð Yò ;ˆÜ×Ñ˜%Ó ×)Ñ)¬'¯/©/Õ:ñ;r   r   )
r@   r    r   rJ   r   rN   ÚHandlerr   Úintr]   © r   r   ú<module>ra      sM   ðÛ Û 	Ý à
ˆ"�)‰)�I˜vÓ
&€Ø:€ô&˜Ÿ™ô &ñR;˜˜t™ð ;¨tô ;r   