<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
mëi<  ã               @   sF   d dl Z d dlZd dlmZmZ d dlmZ G dd„ dƒZdd„ ZdS )é    N)ÚustrÚsstr)Úconfigc               @   sH   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dS )ÚLogz„
    attempt to log all interesting stuff, namely, anything that hits
    the network any error messages, package installs, etc
    c             C   s   d| _ tjƒ | _d| _d S )NZup2dateÚ )Úappr   ZinitUp2dateConfigÚcfgÚlog_info)Úself© r   ú /usr/lib/python3.6/up2dateLog.pyÚ__init__   s    
zLog.__init__c             C   s   t |ƒ| _d S )N)Ústrr   )r
   Únamer   r   r   Úset_app_name   s    zLog.set_app_namec             G   s    | j d dkr| jd|žŽ  d S )NÚdebugé   úD: )r   )r   Úlog_me)r
   Úargsr   r   r   Ú	log_debug   s    zLog.log_debugc             G   sd   dt jt j ƒ ƒ| jf | _d}x |D ]}tt|ƒƒ}||7 }q$W | jd dkrVt|ƒ | j|ƒ dS )zHGeneral logging function.
        Eg: log_me("I am a banana.")

        z[%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@   dt jt j ƒ ƒ| jf | _tjƒ }djtj|ƒƒ}| j|ƒ d S )Nz[%s] %sr   )	r   r   r   r	   Ú	tracebackÚextract_stackÚjoinÚformat_listr   )r
   ÚxÚmsgr   r   r   Útrace_me)   s    zLog.trace_mec             C   sd   dt jt j ƒ ƒ| jf | _dg}|jdƒ |tjtj|ƒƒ }|jd||f ƒ | jdj	|ƒƒ d S )Nz[%s] %sÚ
z#Traceback (most recent call last):
z%s: %s
r   )
r   r   r   r	   Úappendr   r    Ú
extract_tbr   r   )r
   ZlogtypeÚvalueÚtbÚoutputr   r   r   Úlog_exception/   s    
zLog.log_exceptionc             C   sP   | j d pd}t|dƒ}dt| jƒt|ƒf }|jt|ƒƒ |jƒ  |jƒ  d S )NZlogFilez/var/log/up2dateÚaz%s %s
)r   Úopenr   r	   Úwriter   ÚflushÚclose)r
   r   Zlog_nameZlog_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   s4   yt a W n tk
r    d a Y nX t d kr0tƒ a t S )N)ÚlogÚ	NameErrorr   r   r   r   r   ÚinitLog@   s    
r6   )	r   r   Zrhn.i18nr   r   Zup2date_clientr   r   r6   r   r   r   r   Ú<module>   s
   8