o
    *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¡r?tˆ  d¡dƒ}| ¡ D ]}| d¡r/|t | ¡ d ¡7 }qW d   ƒ n1 s:w   Y  |D ]}ˆ  ˆ  |¡¡sLqAˆ  |¡}|ˆ  d|¡7 }qA|D ]}| d¡ri|dd … }ˆ  	|¡rsˆ  
|¡ q\ˆ  
g d	¢¡ ˆ  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¡ d S d S ˆ   d¡sÏˆ  
g d¢¡ d S ˆ  
g d¢¡ d S )Nú/etc/syslog.confú/etc/rsyslog.confÚsinceÚrz$IncludeConfigé   z^\S+\s+(-?\/.*$)\s+ú-)	r   r   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	   ÚtagsÚpriorityÚthisTZjournal_since_boot)ZbootÚ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   sZ   


€þÿ



€

ÿ
ÿ
ÿ

þÿ
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   