fr ddlZddlZddlZddlZddlZddlZddlZddlZddlm Z m Z m Z ddl Z ddl Z ddlZdZdZdZdZdZdZdZGd d ejZGd d eZGd deZGddejZGddejZGddeZGddejZGddejZGddejZ GddejZ!GddejZ"Gdd e"Z#Gd!d"ejZ$Gd#d$e%Z&dS)%N)ST_DEVST_INOST_MTIMEi<#i=#i>#i?#iQc2eZdZ dZdZddZdZdZdZdS)BaseRotatingHandlerNFc| tj||||||||_||_||_dS)Nmodeencodingdelayerrors)logging FileHandler__init__r r rselffilenamer r r rs 7/opt/alt/python311/lib64/python3.11/logging/handlers.pyrzBaseRotatingHandler.__init__6sR  $$T8$.6e,2 % 4 4 4    c ||r|tj||dS#t $r||YdSwxYwN)shouldRollover doRolloverrremit Exception handleErrorrrecords rrzBaseRotatingHandler.emitAs  %""6** "!!!   $ $T6 2 2 2 2 2 % % %   V $ $ $ $ $ $ %sA AA10A1c` t|js|}n||}|Sr)callablenamer)r default_nameresults rrotation_filenamez%BaseRotatingHandler.rotation_filenameOs8  ## .!FFZZ --F rc t|js8tj|rtj||dSdS|||dSr)r!rotatorospathexistsrename)rsourcedests rrotatezBaseRotatingHandler.rotatebso  %% 'w~~f%% ( &$''''' ( ( LL & & & & &r)NFN) __name__ __module__ __qualname__r"r'rrr%r.rrrr-sf EG     % % %&'''''rrc(eZdZ ddZdZdZdS) RotatingFileHandlerarNFc |dkrd}d|vrtj|}t||||||||_||_dS)Nrr5br r r)io text_encodingrrmaxBytes backupCount)rrr r;r<r r rs rrzRotatingFileHandler.__init__|sr 2 a<<D d??'11H$$T8TH+0 % A A A  &rc |jr |jd|_|jdkr/t|jdz ddD]}|d|j|fz}|d|j|dzfz}t j|rHt j|rt j |t j ||||jdz}t j|rt j || |j||j s| |_dSdS)Nrz%s.%dz.1)streamcloser<ranger% baseFilenamer(r)r*remover+r.r _open)risfndfns rrzRotatingFileHandler.doRolloversv  ;  K     DK  a  4+a/B77 ( (,,W8I17M-MNN,,W8I89A8?.?@@7>>#&&(w~~c**' #Ic3'''(():T)ABBCw~~c""  # KK)3 / / /z '**,,DKKK ' 'rc tj|jr&tj|jsdS|j||_|jdkrgd||z}|j dd|j t|z|jkrdSdS)NFrz%s T) r(r)r*rCisfiler@rEr;formatseektelllenrrmsgs rrz"RotatingFileHandler.shouldRollovers  7>>$+ , , RW^^DDU5V5V 5 ; **,,DK =1  4;;v...C K  Q " " "{!!CHH, ==tur)r5rrNFN)r/r0r1rrrr2rrr4r4wsVDE48"'"'"'"'H'''.rr4c6eZdZ d dZdZdZd Zd ZdS) TimedRotatingFileHandlerhr>rNFc tj|}t||d||| ||_||_||_||_|jdkrd|_ d|_ d} n)|jdkrd|_ d |_ d } n |jd krd |_ d |_ d} n|jdks |jdkrd|_ d|_ d} n|j drd|_ t|jdkrtd|jz|jddks|jddkrtd|jzt|jd|_d|_ d} ntd|jzt!j| t j|_|j |z|_ |j}t*j|r t+j|t2} n tt5j} || |_dS)Nr5r8Sr>z%Y-%m-%d_%H-%M-%Sz0(?HH Y#  j!8!8(DM$DK8HH Y ! !# & & T,DM49~~"" !knrnw!wxxxy|c!!TYq\C%7%7 !PSWS\!\]]] 1..DN$DK8HHFRSS S 8RX66  0 $ 7>>( # # !!!(+AADIKK  A..q11rc ||jz}|jdks|jdr|jrt j|}nt j|}|d}|d}|d}|d}|jt}n,|jj dz|jj zdz|jj z}||dz|zdz|zz } | dkr| tz } |d zd z}|| z}|jdrV|} | |j kr3| |j kr |j | z } nd| z |j zd z} || tzz }||jtd zz z }n||jtz z }|jsS|d } t j|d } | | kr+| s"d }t j|d z d sd}nd }||z }|S)Nr\r]rXrr>r?rZ) rdrarfrbrogmtime localtimerc _MIDNIGHThourminutesecondri)r currentTimer$rr currentHour currentMinute currentSecond currentDay rotate_tsrday daysToWaitdstNow dstAtRolloveraddends rrpz(TimedRotatingFileHandler.computeRollovers t}, 9 " "di&:&:3&?&? "x 0K ,,N;//A$KaDMaDM1J{"% "k.3dk6HH"LK&' kB.>"DAAvvY(1n1  1_F y##C(( 4 $.((T^++%)^c%9 %&Wt~%=%A j944F$-)a-77$-)338 %2 $v 6 6r : ]**!&!&#~fTk::2>'%&F!%f$F rc* ttj}||jkrftj|jr@tj|js|||_dSdSdS)NFT) rhrorqr(r)r*rCrKrp)rrrrs rrz'TimedRotatingFileHandler.shouldRolloverbs      w~~d/00 HY9Z9Z #'"6"6q"9"9u4urc tj|j\}}tj|}g}|j|dz}t |}|D]g}|d||krW||d}|j|r3| tj ||hn|D]}|j |} | r||jdz| dz} tj | |kr4| tj ||n2|j || dz} | t ||jkrg}n3||dt ||jz }|S)N.rr>)r(r)splitrClistdirr"rOrm fullmatchappendjoinsearchbasenamestartr<sort) rdirNamebaseName fileNamesr$prefixplenfileNameremrHs rgetFilesToDeletez)TimedRotatingFileHandler.getFilesToDeleteus GMM$*;<<Jw''  : ^Fv;;D% G GETE?f,,%dee_F}..v66G bgll7H&E&EFFF  G & F F M((22F**T%6%>#    F ;  K     DK D%s+++  a  **,,   ! z '**,,DK..{;;r)rTr>rNFFNN)r/r0r1rrprrrr2rrrSrSsDE?CA2A2A2A2FKKKZ&$$$L&<&<&<&<&@g@) rHandlerrhostportaddresssock closeOnError retryTime retryStartretryMax retryFactorrrrs rrzSocketHandler.__init__sz    &&&  <DLL $cH |jtj|j|}n}tjtjtj}|| ||jn##t$r| wxYw|S)Ntimeout) rsocketcreate_connectionrAF_UNIX SOCK_STREAM settimeoutconnectOSErrorrA)rrr$s r makeSocketzSocketHandler.makeSocket3s  9 -dlGLLLFF]6>63EFFF   g & & & t|,,,,      s $A?? Bcj tj}|jd}n ||jk}|r ||_d|_dS#t$rW|j |j|_n0|j|jz|_|j|jkr |j|_||jz|_YdSwxYwdSNT) rorrrrr retryPeriodrr)rnowattempts r createSocketzSocketHandler.createSocketDs ikk > !GGdn,G  8 8 OO-- !% 8 8 8>)'+D$$'+'7$:J'JD$'$-77+/=(!$t'7!7 8 8 8s AAB0/B0c |j||jrN |j|dS#t$r$|jd|_YdSwxYwdSr)rrsendallrrArrs rsendzSocketHandler.send`s 9        9 ! ! !!!$$$$$ ! ! ! !!!   ! ! !sA*A/.A/cN |j}|r||}t|j}||d<d|d<d|d<|ddt j|d}tj dt|}||zS)NrQargsexc_infomessager>z>L) rrLdict__dict__ getMessagepoppickledumpsstructpackrO)rreidummydrslens r makePicklezSocketHandler.makePickless _  (KK''E  ! !$$&&%& *  i LA  {4Q((axrc |jr)|jr"|jd|_dStj||dSr)rrrArrrrs rrzSocketHandler.handleErrorsX    6 6 IOO   DIII O ' 'f 5 5 5 5 5rc ||}||dS#t$r||YdSwxYwr)rrrr)rrrs rrzSocketHandler.emitsh  %''A IIaLLLLL % % %   V $ $ $ $ $ $ %s*/AAc | |j}|rd|_|tj||dS#|wxYwr)acquirerrArrreleaserrs rrAzSocketHandler.closesw   9D    O ! !$ ' ' ' LLNNNNNDLLNNNN AA00BN)r>) r/r0r1rrrrrrrrAr2rrrr s 2"8888!!!&, 6 6 6 % % %     rrc"eZdZ dZdZdZdS)DatagramHandlercN t|||d|_dS)NF)rrrrs rrzDatagramHandler.__init__s/  tT4000!rc |j tj}n tj}tj|tj}|Sr)rrrAF_INET SOCK_DGRAM)rfamilyrs rrzDatagramHandler.makeSockets:  9 ^FF^F M&&"3 4 4rc~ |j||j||jdSr)rrsendtorrs rrzDatagramHandler.sendsC  9        DL)))))rN)r/r0r1rrrr2rrrrsF """    * * * * *rrc zeZdZ dZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZ dZ!dZ"eeee eeee eeeed Z#idedededededed e d!ed"e d#ed$ed%ed&ed'ed(e d)ed*eeeeee e!e"d+Z$d,d-d.d/d0d1Z%d2e&fe d3fd4Z'd5Z(d6Z)d7Z*d8Z+d9Z,d:Z-d;Z.d<Z/d3S)= SysLogHandlerrr>rJrtrurvrwrx ) alertcritcriticaldebugemergerrerrorinfonoticepanicwarnwarningauthauthprivconsolecrondaemonftpkernlprmailnewsntpsecurityz solaris-cronsysloguseruucplocal0)local1local2local3local4local5local6local7rrrrr )DEBUGINFOWARNINGERRORCRITICAL localhostNc tj|||_||_||_d|_|dSr)rrrrfacilitysocktyperr)rrr5r6s rrzSysLogHandler.__init__JsS    &&&       rc|j}| tj}tjtj||_ |j|||_dS#t $r|j|jtj}tjtj||_ |j|||_YdS#t $r|jwxYwwxYwr)r6rrrrrrAr)rr use_socktypes r_connect_unixsocketz!SysLogHandler._connect_unixsocket_s}  !,LmFNLAA   K   ( ( ((DMMM    K     }(!-L - EEDK  ##G,,, ,     !!###  s!AAD:!C%DDcP |j}|j}t|tr0d|_ ||dS#t $rYdSwxYwd|_| tj}|\}}tj ||d|}|st d|D]z}|\}}}} } dx} } tj|||} |tj kr| | n/#t $r"} | } | | Yd} ~ sd} ~ wwxYw| | | |_||_dS)NTFrz!getaddrinfo returns an empty list) rr6 isinstancestr unixsocketr9rrr getaddrinforrrA)rrr6rrressresafproto_sarrexcs rrzSysLogHandler.createSocketws ,= gs # #! %"DO  ((11111    $DO!, JD$%dD!X>>D CABBB % %-0*HeQ!!d%!=Xu==D6#555 R(((E%%%C' % DK$DMMMs)A AA(;C%% D/D  Dc t|tr |j|}t|tr |j|}|dz|zS)Nrt)r;r<facility_namespriority_names)rr5prioritys rencodePriorityzSysLogHandler.encodePrioritysV h $ $ 5*84H h $ $ 5*84HA ))rc | |j}|rd|_|tj||dS#|wxYwr)rrrArrrrs rrAzSysLogHandler.closesw   ;D "  O ! !$ ' ' ' LLNNNNNDLLNNNNrc: |j|dS)Nr) priority_mapget)r levelNames r mapPriorityzSysLogHandler.mapPrioritys"  $$Y :::rTc` ||}|jr |j|z}|jr|dz }d||j||jz}|d}|d}||z}|js| |j r{ |j |dS#t$rQ|j ||j|j |YdSwxYw|jtjkr"|j||jdS|j|dS#t($r||YdSwxYw)Nz<%d>utf-8)rLident append_nulrJr5rP levelnameencoderrr=rrrAr9rr6rrrrr)rrrQprios rrzSysLogHandler.emits  %++f%%Cz 'j3& v D// 040@0@AQ0R0RTTTD;;w''D**W%%C*C; $!!### )*K$$S)))))***K%%''',,T\:::K$$S))))))*&"333 ""3 55555 ##C((((( % % %   V $ $ $ $ $ $ %s7B9F =CAD40F 3D448F .F F-,F-)0r/r0r1 LOG_EMERG LOG_ALERTLOG_CRITLOG_ERR LOG_WARNING LOG_NOTICELOG_INFO LOG_DEBUGLOG_KERNLOG_USERLOG_MAIL LOG_DAEMONLOG_AUTH LOG_SYSLOGLOG_LPRLOG_NEWSLOG_UUCPLOG_CRON LOG_AUTHPRIVLOG_FTPLOG_NTP LOG_SECURITY LOG_CONSOLE LOG_SOLCRON LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4 LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7rHrGrMSYSLOG_UDP_PORTrr9rrJrArPrUrVrr2rrrrs$IIHGKJHIHHHJHJGHHHLGGLKKJJJJJJJJ   N                                   ! "  # $#""""""1   N< L!,_="T*0,%,%,%\ * * *   ;;; EJ&%&%&%&%&%rrc&eZdZ ddZdZdZdS) SMTPHandlerN@c tj|t|tt fr|\|_|_n|dc|_|_t|tt fr|\|_|_ nd|_||_ t|tr|g}||_ ||_ ||_||_dSr)rrrr;listtuplemailhostmailportusernamepasswordfromaddrr<toaddrssubjectsecurer)rrrrr credentialsrrs rrzSMTPHandler.__init__s   &&& hu . . :+3 (DM4==+3T (DM4= kD%= 1 1 !+6 (DM4== DM  gs # # iG    rc |jSr)rrs r getSubjectzSMTPHandler.getSubjects |rc  ddl}ddlm}ddl}|j}|s|j}||j||j}|}|j |d<d |j |d<| ||d<|j |d<||||jr^|j7||j|j|||j|j|||dS#t2$r||YdSwxYw) Nr) EmailMessagerFrom,ToSubjectDate)smtplib email.messager email.utilsr SMTP_PORTSMTPrrrrrrutilsr{ set_contentrLrrehlostarttlsloginr send_messagequitrr)rrrremailrsmtprQs rrzSMTPHandler.emit%s  % NNN 2 2 2 2 2 2    =D )(<< tT\<JJD,..C-CK..CI!__V44C N+//11CK OODKK// 0 0 0} 9;*IIKKK!DM4;//IIKKK 4=$-888   c " " " IIKKKKK % % %   V $ $ $ $ $ $ %sEE FF)NNr})r/r0r1rrrr2rrr|r|sQ9<!!!!F%%%%%rr|c6eZdZ d dZdZdZdZdZdZdS) NTEventLogHandlerN Applicationc .tj| ddl}ddl}||_||_|sttj |jj }tj |d}tj |dd}||_ ||_ |j|||n-#t$r }t!|dddkrYd}~nd}~wwxYw|j|_tj|jtj|jtj|jtj|jtj|ji|_dS#t6$rt9dd|_YdSwxYw)Nrzwin32service.pydwinerrorrvzWThe Python Win32 extensions for NT (service, event logging) appear not to be available.)rrrwin32evtlogutil win32evtlogappname_welur(r)r__file__rdllnamelogtypeAddSourceToRegistryrgetattrEVENTLOG_ERROR_TYPEdeftyper.EVENTLOG_INFORMATION_TYPEr/r0EVENTLOG_WARNING_TYPEr1r2typemap ImportErrorprint)rrrrrres rrzNTEventLogHandler.__init__Os  &&&  / / / / / / / /"DL(DJ H'-- (;<<'-- 33',,wqz3FGG"DL"DL  ..wIIII   1j$//14454444  ':DL +"G +"G+"C +"A +"A  DLLL    ? @ @ @DJJJJ s=BE0<CE0 D#C>9E0>DA+E00 FFc dS)Nr>r2rs r getMessageIDzNTEventLogHandler.getMessageIDrs qrc dS)Nrr2rs rgetEventCategoryz"NTEventLogHandler.getEventCategory|s qrcN |j|j|jSr)rrNlevelnorrs r getEventTypezNTEventLogHandler.getEventTypes% | ===rcX |jr ||}||}||}||}|j|j||||gdS#t$r||YdSwxYwdSr) rrrrrL ReportEventrrr)rridcattyperQs rrzNTEventLogHandler.emits : ) )&&v..++F33((00kk&)) &&t|RdSEJJJJJ ) ) )  (((((( ) ) )sA8BB'&B'cF tj|dSr)rrrArs rrAzNTEventLogHandler.closes%  d#####r)Nr) r/r0r1rrrrrrAr2rrrrEsy!!!!F > > >)))" $ $ $ $ $rrc.eZdZ ddZdZdZdZdS) HTTPHandlerGETFNc tj||}|dvrt d|s|t d||_||_||_||_||_ ||_ dS)N)rPOSTzmethod must be GET or POSTz3context parameter only makes sense with secure=True) rrrr`rgrurlmethodrrcontext)rrrrrrrs rrzHTTPHandler.__init__s    &&&  ( (9:: : 1'-011 1   & rc |jSr)rrs r mapLogRecordzHTTPHandler.mapLogRecords rc ddl}|r"|j||j}n|j|}|S)Nr)r) http.clientclientHTTPSConnectionrHTTPConnection)rrrhttp connections r getConnectionzHTTPHandler.getConnectionsV   :44T4<4PPJJ33D99Jrc> ddl}|j}|||j}|j}|j||}|jdkr(| ddkrd}nd}|d||fzz}| |j|| d}|dkr |d|}|jdkrF| dd | d tt||jrtddl} d |jzd } d | | dz} | d| ||jdkr(||d |dS#t.$r||YdSwxYw)Nrr?&z%c%s:rz Content-typez!application/x-www-form-urlencodedzContent-lengthz%s:%srTzBasic ascii Authorization) urllib.parserrrrparse urlencoderrfind putrequest putheaderr<rOrbase64rX b64encodestripdecode endheadersr getresponserr) rrurllibrrTrdataseprFrrs rrzHTTPHandler.emits" # %    9D""455A(C<))$*;*;F*C*CDDD{e##HHSMMQ&&CCCFc4[00 LLc * * * #AAvvBQBx{f$$ N?AAA ,c#d))nn=== 0 t//77@@v//2288::AA'JJJ OQ/// LLNNN{f$$t{{7++,,, MMOOOOO % % %   V $ $ $ $ $ $ %sG4G99HH)rFNN)r/r0r1rrrrr2rrrrsdKO(   )%)%)%)%)%rrc.eZdZ dZdZdZdZdZdS)BufferingHandlercb tj|||_g|_dSr)rrrcapacitybuffer)rrs rrzBufferingHandler.__init__s1    &&&   rc> t|j|jkSr)rOrrrs r shouldFlushzBufferingHandler.shouldFlushs  DK  DM12rc |j|||r|dSdSr)rrrrrs rrzBufferingHandler.emit!sP 6"""   F # #  JJLLLLL  rc | |j|dS#|wxYwr)rrclearrrs rrzBufferingHandler.flush,sR   K      LLNNNNNDLLNNNNs AAc |tj|dS#tj|wxYwr)rrrrArs rrAzBufferingHandler.close8sQ  ( JJLLL O ! !$ ' ' ' ' 'GO ! !$ ' ' ' 's 8!AN)r/r0r1rrrrrAr2rrrr sd 333       ( ( ( ( (rrc@eZdZ ejddfdZdZdZdZdZ dS) MemoryHandlerNTch t||||_||_||_dSr)rr flushLeveltarget flushOnClose)rrrrrs rrzMemoryHandler.__init__Is;  !!$111$ (rc^ t|j|jkp|j|jkSr)rOrrrrrs rrzMemoryHandler.shouldFlush]s3 DK  DM144?2 4rc | ||_|dS#|wxYwr)rrr)rrs r setTargetzMemoryHandler.setTargetdsE    DK LLNNNNNDLLNNNNs 4A c | |jr=|jD]}|j||j|dS#|wxYwr)rrrhandlerrrs rrzMemoryHandler.flushns   { $"k//FK&&v.... !!### LLNNNNNDLLNNNNs AA11Bc |jr|| d|_t||dS#|wxYw#| d|_t||w#|wxYwxYwr)rrrrrrArrs rrAzMemoryHandler.closes     LLNNN "  &&t,,,   LLNNN "  &&t,,,  s.B!A**BC(!C:C(C%%C() r/r0r1rr1rrrrrAr2rrrrCsu -4M$"))))(444"rrc(eZdZ dZdZdZdZdS) QueueHandlercT tj|||_dSr)rrrqueue)rrs rrzQueueHandler.__init__s*    &&& rc< |j|dSr)r put_nowaitrs renqueuezQueueHandler.enqueues%  f%%%%%rc ||}tj|}||_||_d|_d|_d|_d|_|Sr)rLcopyrrQrrexc_text stack_inforPs rpreparezQueueHandler.preparesY *kk&!!6""    rc |||dS#t$r||YdSwxYwr)r rrrrs rrzQueueHandler.emitsh  % LLf-- . . . . . % % %   V $ $ $ $ $ $ %s(-AAN)r/r0r1rr rrr2rrrrsV&&&B % % % % %rrcJeZdZ dZdddZdZdZdZdZd Z d Z d Z dS) QueueListenerNF)respect_handler_levelc@ ||_||_d|_||_dSr)rhandlers_threadr)rrrrs rrzQueueListener.__init__s,     %:"""rc8 |j|Sr)rrN)rblocks rdequeuezQueueListener.dequeues z~~e$$$rc tj|jx|_}d|_|dS)N)rT) threadingThread_monitorrrr)rrrs rrzQueueListener.starts= %+4=AAAA q  rc |Srr2rs rrzQueueListener.prepares  rc ||}|jD]3}|jsd}n|j|jk}|r||4dSr)rrrrlevelr)rrhandlerprocesss rrzQueueListener.handle sp f%%} ' 'G- : .GM9 'v&&&  ' 'rc( |j}t|d} |d}||jur|r|dS|||r|n#tj$rYdSwxYwz)N task_doneT)rhasattrr _sentinelr#rEmpty)rq has_task_doners rrzQueueListener._monitors  J;//   d++T^++$& E F### "KKMMM;     s4A=+A==BBcF |j|jdSr)rrr%rs renqueue_sentinelzQueueListener.enqueue_sentinel0s'  dn-----rcp ||jd|_dSr)r*rrrs rstopzQueueListener.stop:s:    r) r/r0r1r%rrrrrrr*r,r2rrrrs I?D;;;;;%%%   ''' ....     rr)'r9rrr(rrrorjrnrrrrrr DEFAULT_TCP_LOGGING_PORTDEFAULT_UDP_LOGGING_PORTDEFAULT_HTTP_LOGGING_PORTDEFAULT_SOAP_LOGGING_PORTrzSYSLOG_TCP_PORTr|rrr4rSrrrrrr|rrrrrobjectrr2rrr3s"98888888888888888888888888888888))))))))))  #"""!!  H'H'H'H'H''-H'H'H'TQQQQQ-QQQfw<w<w<w<w<2w<w<w