CasperSecurity
o
S�Kj� �
@ s� d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
mZmZ d dl
mZ d dlmZ dZe �ee��Zdd � Zed
ejejdeejee
dd
ejd�gd�gd�ZdS )� N)�messages)�collect_logs)�ProArgument�ProArgumentGroup�
ProCommand)�HelpCategory)�replace_top_level_logger_namezpro_logs.tar.gzc K s6 | j pt}t�� ��}t||� z2t�d�}z$t�|d��}|j |dd� W d � n1 s.w Y W t�|� nt�|� w W nG t
y_ } zt�|� W Y d }~W d � dS d }~w t
y� } zt�|� ttjj|d�tjd� W Y d }~W d � dS d }~ww W d � dS 1 s�w Y dS ) N� zx:gzzlogs/)�arcname� )�filename)�filer )�output�PRO_COLLECT_LOGS_FILE�tempfile�TemporaryDirectoryr �os�umask�tarfile�open�add�PermissionError�LOG�error�FileExistsError�printr �E_FILE_ALREADY_EXISTS�format�sys�stderr)�args�cfg�kwargs�output_file�
output_dir� old_umask�results�e� r( �;/usr/lib/python3/dist-packages/uaclient/cli/collect_logs.py�action_collect_logs sB
��
��
��
���
��r* zcollect-logsTz--outputz-o)�
short_name�help)� arguments)r, �description�preserve_description�action�
help_category�argument_groups)�loggingr r r r �uaclientr �uaclient.actionsr �uaclient.cli.commandsr r r �uaclient.cli.parserr �
uaclient.utilr r � getLogger�__name__r r* �CLI_ROOT_COLLECT_LOGS�CLI_COLLECT_LOGS_DESC�TROUBLESHOOT�CLI_COLLECT_LOGS_OUTPUT�collect_logs_commandr( r( r( r) �<module> s<