U
    lHJeó  ã                   @   s¼   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZ e  e
 e¡¡Zej ed	d
¡Zdd„ Zdd„ Zedœdd„Zddd„ZdS )é    N)ÚTimeoutExpired)Ú
exceptions)Úlog)ÚsystemÚutil)ÚUAConfig)ÚDEFAULT_DATA_DIR)ÚJsonArrayFormatterZmessageszmotd-auto-attach-statusc               
   C   sT   zt jdddgdd W n6 tjtfk
rN }  ztj| | d W 5 d } ~ X Y nX d S )NÚ	systemctlÚstartúubuntu-advantage.serviceç       @©Ztimeout©Úexc_info©r   Zsubpr   ZProcessExecutionErrorr   ÚLOGZwarning©Úe© r   ú:/usr/lib/python3/dist-packages/uaclient/daemon/__init__.pyr      s     ÿ
r   c               
   C   sT   zt jdddgdd W n6 tjtfk
rN }  ztj| | d W 5 d } ~ X Y nX d S )Nr
   Ústopr   r   r   r   r   r   r   r   r   r      s     ÿ
r   )Úcfgc                 C   s   ddl m} | | ¡ d S )Nr   )Úretry_auto_attach)Zuaclient.daemonr   Úcleanup)r   r   r   r   r   r   &   s    r   c                 C   s¢   |d krt  d¡}| |¡ g |_| t ¡ ¡ t  tj	¡}| 
t  d¡¡ | | ¡ | d¡ | |¡ t  |¡}| 
tƒ ¡ | |¡ | d¡ | |¡ d S )NZ	ubuntuproz%(message)szupro-consolez	upro-file)ÚloggingÚ	getLoggerZsetLevelZhandlersZ	addFilterÚpro_logZRedactionFilterZStreamHandlerÚsysÚstderrZsetFormatterZ	FormatterZset_nameZ
addHandlerZFileHandlerr	   )Zconsole_levelZ	log_levelZlog_fileZloggerZconsole_handlerZfile_handlerr   r   r   Úsetup_logging,   s    







r    )N)r   Úosr   Ú
subprocessr   Zuaclientr   r   r   r   r   Zuaclient.configr   Zuaclient.defaultsr   Zuaclient.logr	   r   Zreplace_top_level_logger_nameÚ__name__r   ÚpathÚjoinZAUTO_ATTACH_STATUS_MOTD_FILEr   r   r   r    r   r   r   r   Ú<module>   s&     ÿ		