a
mëi< ã @ sF d dl Z d dlZd dlmZmZ d dlmZ G dd„ dƒZdd„ ZdS )é N)ÚustrÚsstr)Úconfigc @ sH e Zd ZdZdd„ Zdd„ Zdd„ Zdd „ Zd
d„ Zdd
„ Z dd„ Z
dS )ÚLogz„
attempt to log all interesting stuff, namely, anything that hits
the network any error messages, package installs, etc
c C s d| _ t ¡ | _d| _d S )NZup2dateÚ )Úappr ZinitUp2dateConfigÚcfgÚlog_info)Úself© r ú=/usr/lib/python3.9/site-packages/up2date_client/up2dateLog.pyÚ__init__
s
zLog.__init__c C s t |ƒ| _d S ©N)Ústrr )r
Únamer r r Úset_app_name s zLog.set_app_namec G s$ | j d dkr | jdg|¢R Ž d S )NÚdebugé zD: )r Úlog_me)r
Úargsr r r Ú log_debug s z
Log.log_debugc G s` dt t ¡ ¡| jf | _d}|D ]}tt|ƒƒ}||7 }q"| jd dkrRt|ƒ | |¡ dS )zHGeneral logging function.
Eg: log_me("I am a banana.")
ú[%s] %sr r r N) ÚtimeÚctimer r r r r ÚprintÚ write_log)r
r ÚsÚir r r r s
z
Log.log_mec C s@ dt t ¡ ¡| jf | _t ¡ }d t |¡¡}| |¡ d S )Nr r ) r r r r Ú tracebackÚ
extract_stackÚjoinÚformat_listr )r
ÚxÚmsgr r r Útrace_me) s zLog.trace_mec C sd dt t ¡ ¡| jf | _dg}| d¡ |t t |¡¡ }| d||f ¡ | d |¡¡ d S )Nr Ú
z#Traceback (most recent call last):
z%s: %s
r )
r r r r Úappendr r! Ú
extract_tbr r )r
ZlogtypeÚvalueÚtbÚoutputr r r Ú
log_exception/ s
zLog.log_exceptionc C sP | j d pd}t|dƒ}dt| jƒt|ƒf }| t|ƒ¡ | ¡ | ¡ d S )NZlogFilez/var/log/up2dateÚaz%s %s
)r Úopenr r Úwriter ÚflushÚclose)r
r Zlog_nameZlog_filer# r r r r 7 s
z
Log.write_logN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
r r r r$ r+ r r r r r r s r c C s2 zt a W n ty d a Y n0 t d kr.tƒ a t S r )ÚlogÚ NameErrorr r r r r ÚinitLog@ s
r7 ) r r Zrhn.i18nr r Zup2date_clientr r r7 r r r r Ú