Ë
    i©¹d›  ã                   ój   — d dl Z d dlmZmZmZmZ  G d„ de«      Z G d„ dee«      Z G d„ dee«      Zy)	é    N)ÚPluginÚ	PluginOptÚIndependentPluginÚ	CosPluginc                   ó$   — e Zd ZdZdZdZd„ Zd„ Zy)ÚLogsBasezSystem logsÚlogs©ÚsystemÚhardwareÚstoragec                 ó¶  — ddg}g }| j                  d«      }| j                  d«      rut        | j                  d«      d«      5 }|j	                  «       D ]=  }|j                  d«      sŒ|t        j                  |j                  «       d   «      z  }Œ? 	 d d d «       |D ]I  }| j                  | j                  |«      «      sŒ$| j                  |«      }|| j                  d|«      z  }ŒK |D ];  }|j                  d«      r|dd  }| j                  |«      sŒ+| j                  |«       Œ= | j                  g d	¢«       | j                  d
«       | j                  d«       t        dD �cg c]#  }| j                  | j                  |d«      «      ‘Œ% c}«      }	|	ru| j                  d«      rd| j                  |ddgd¬«       | j                  d|d¬«       | j                  d|d¬«       | j                  d«      r| j                  ddg«       y y | j                  d«      s| j                  g d¢«       y | j                  g d¢«       y # 1 sw Y   �ŒµxY wc c}w )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/)z/varz/runzlog/journal/zsystemd-journaldÚjournal_fullÚjournal_alléd   )r   ÚtagsÚpriorityÚthisÚjournal_since_boot)Úbootr   r   ÚlastÚjournal_last_bootÚ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*)Ú
get_optionÚpath_existsÚopenÚ	path_joinÚ	readlinesÚ
startswithÚglobÚsplitÚdo_regex_find_allÚpath_isfileÚadd_copy_specÚadd_cmd_outputÚanyÚ
is_serviceÚadd_journal)
ÚselfÚconfsr	   r   ÚconfÚlineÚconfigÚiÚpÚjournals
             ú9/usr/lib/python3/dist-packages/sos/report/plugins/logs.pyÚsetupzLogsBase.setup   sf  € Ø#Ð%8Ð9ˆØˆà—‘ Ó(ˆà×ÑÐ/Ô0Ü�d—n‘nÐ%8Ó9¸3Ó?ð <À4Ø ŸN™NÓ,ò <�DØ—‘Ð'7Õ8Ø¤§¡¨4¯:©:«<¸©?Ó!;Ñ;™ñ<÷<ð
 ò 	KˆDØ×#Ñ# D§N¡N°4Ó$8Ô9ØØ—^‘^ DÓ)ˆFØ�D×*Ñ*Ð+AÀ6ÓJÑJ‰Dð		Kð ò 	&ˆAØ�|‰|˜CÔ Ø�a�b�E�Ø×Ñ Õ"Ø×"Ñ" 1Õ%ð		&ð 	×Ñò 

ô 
	ð 	×ÑÐ5Ô6Ø×ÑÐ0Ô1ô Ø 0ö2Øð ×'Ñ'¨¯©°q¸.Ó(IÕJò 2ó 3ˆá�t—‘Ð'9Ô:Ø×Ñ 5°ÀÐ/NØ&)ð ô +à×Ñ &°Ø"6ð ô 8à×Ñ &°Ø"5ð ô 7à�‰˜zÔ*Ø×"Ñ"Ø(Ø(ð$õ ð +ð —?‘? :Ô.Ø×"Ñ"ò 
$õ 
ð ×"Ñ"ò $õ ÷A<ñ <üòH2s   Á%I	Á*+I	Å*(IÉ	Ic                 ó*   — | j                  ddd«       y )Nz/etc/rsyslog*z (ActionLibdbiPassword |pwd=)(.*)z\1[********])Údo_path_regex_sub)r/   s    r7   ÚpostproczLogsBase.postproca   s   € Ø×ÑØØ/Øõ	
ó    N)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesr8   r;   © r<   r7   r   r      s   „ à€Jà€KØ0€HòKóZ
r<   r   c                   ó   — e Zd ZdZdZdZy)ÚIndependentLogsaì  
    This plugin will collect logs traditionally considered to be "system" logs,
    meaning those such as /var/log/messages, rsyslog, and journals that are
    not limited to unit-specific entries.

    Note that the --since option will apply to journal collections by this
    plugin as well as the typical application to log files. Most users can
    expect typical journal collections to include the "full" journal, as well
    as journals limited to this boot and the previous boot.
    r	   r
   N)r=   r>   r?   Ú__doc__rA   rB   rC   r<   r7   rE   rE   i   s   „ ñ	ð €KØ0�Hr<   rE   c                   ó6   ‡ — e Zd Z eddd¬«      gZˆ fd„Zˆ xZS )ÚCosLogsÚlog_daysé   z"the number of days logs to collect)ÚnameÚdefaultÚdescc                 ó¾   •— t         t        | �  «        | j                  d«      r| j	                  d«       y | j                  dd«      }| j                  d|z  ¬«       y )Nr   zjournalctl -o exportrI   rJ   z-%ddays)r   )ÚsuperrH   r8   r    r+   r.   )r/   ÚdaysÚ	__class__s     €r7   r8   zCosLogs.setup   sQ   ø€ ÜŒg�tÑ"Ô$Ø�?‰?˜:Ô&Ø×ÑÐ 6Õ7à—?‘? :¨qÓ1ˆDØ×Ñ 9¨tÑ#3ÐÕ4r<   )r=   r>   r?   r   Úoption_listr8   Ú__classcell__)rQ   s   @r7   rH   rH   y   s#   ø„ á�z¨1Ø;ô	=ð€K÷
5ð 5r<   rH   )	r&   Úsos.report.pluginsr   r   r   r   r   rE   rH   rC   r<   r7   ú<module>rU      s<   ðó ß NÓ NôY
ˆvô Y
ôx1�hÐ 1ô 1ô 5ˆh˜	õ 5r<   