U
    *bÕ  ã                   @   s.   d dl Z d dlmZmZ G dd„ deeƒZdS )é    N)ÚPluginÚIndependentPluginc                   @   s(   e Zd ZdZdZdZdd„ Zdd„ ZdS )	ÚLogszSystem logsÚlogs)ÚsystemZhardwareZstoragec           	         sº  ddg}g }ˆ   d¡}ˆ  d¡rjtˆ  d¡dƒ4}| ¡ D ]$}| d¡r:|t | ¡ d ¡7 }q:W 5 Q R X |D ]0}ˆ  ˆ  |¡¡s„qnˆ  |¡}|ˆ  d|¡7 }qn|D ].}| d¡r¾|dd … }ˆ  	|¡r¤ˆ  
|¡ q¤ˆ  
ddd	d
dddddg	¡ ˆ  d¡ ˆ  d¡ t‡ fdd„dD ƒƒ}|r|ˆ  d¡r|ˆ j|ddd ˆ jdd|dd ˆ jdd|dd ˆ   d¡r¶ˆ  
d d!g¡ n:ˆ   d¡s¦ˆ  
d"d#d$d%d&d'd(d)d*g	¡ nˆ  
d+d,d-g¡ d S ).Nz/etc/syslog.confz/etc/rsyslog.confÚsinceÚrz$IncludeConfigé   z^\S+\s+(-?\/.*$)\s+ú-z/etc/rsyslog.dz/var/log/boot.logz/var/log/installerz/var/log/messages*z/var/log/secure*z/var/log/udevz/var/log/dist-upgradezjournalctl --disk-usagezls -alRh /var/log/c                    s   g | ]}ˆ   ˆ  |d ¡¡‘qS )zlog/journal/)Úpath_existsÚ	path_join)Ú.0Úp©Úself© ú9/usr/lib/python3/dist-packages/sos/report/plugins/logs.pyÚ
<listcomp>?   s   ÿzLogs.setup.<locals>.<listcomp>)z/varz/runzsystemd-journaldZjournal_fulléd   )r   ÚtagsZpriorityÚthisTZjournal_since_boot)ZbootZcatalogr   r   ZlastZjournal_last_bootZall_logsz/var/log/journal/*z/run/log/journal/*z/var/log/syslogz/var/log/syslog.1z/var/log/syslog.2*z/var/log/kern.logz/var/log/kern.log.1z/var/log/kern.log.2*z/var/log/auth.logz/var/log/auth.log.1z/var/log/auth.log.2*z/var/log/syslog*z/var/log/kern.log*z/var/log/auth.log*)Z
get_optionr   Úopenr   Ú	readlinesÚ
startswithÚglobÚsplitZdo_regex_find_allZpath_isfileZadd_copy_specZadd_cmd_outputÚanyZ
is_serviceZadd_journal)	r   Zconfsr   r   ÚconfÚlineZconfigÚiZjournalr   r   r   Úsetup   s€    


"


÷

ÿ
ÿ
ÿþ÷ýz
Logs.setupc                 C   s    |   ddd¡ |   ddd¡ d S )Nz/etc/rsyslog*zActionLibdbiPassword (.*)zActionLibdbiPassword [********]zpwd=.*zpwd=[******])Zdo_path_regex_subr   r   r   r   Úpostproc`   s    ýýzLogs.postprocN)Ú__name__Ú
__module__Ú__qualname__Z
short_descZplugin_nameZprofilesr    r!   r   r   r   r   r      s
   Lr   )r   Zsos.report.pluginsr   r   r   r   r   r   r   Ú<module>	   s   