"""
JournalCtl - command ``journalctl xxx``
=======================================
This module contains the following parsers:
JournalAll - command ``journalctl --no-pager``
----------------------------------------------
JournalHeader - command ``journalctl --no-pager --header``
----------------------------------------------------------
JournalSinceBoot - command ``journalctl --no-pager --boot``
-----------------------------------------------------------
"""
from insights.core.plugins import parser
from insights.specs import Specs
from insights.core import Syslog
[docs]
@parser(Specs.journal_all)
class JournalAll(Syslog):
"""
Handle the output of ``journalctl --no-pager`` command. Uses the ``Syslog`` class
parser functionality - see the base class for more details.
Sample log lines::
-- Logs begin at Wed 2017-02-08 15:18:00 CET, end at Tue 2017-09-19 09:25:27 CEST. --
May 18 15:13:34 lxc-rhel68-sat56 jabberd/sm[11057]: session started: jid=rhn-dispatcher-sat@lxc-rhel6-sat56.redhat.com/superclient
May 18 15:13:36 lxc-rhel68-sat56 wrapper[11375]: --> Wrapper Started as Daemon
May 18 15:13:36 lxc-rhel68-sat56 wrapper[11375]: Launching a JVM...
May 18 15:24:28 lxc-rhel68-sat56 yum[11597]: Installed: lynx-2.8.6-27.el6.x86_64
May 18 15:36:19 lxc-rhel68-sat56 yum[11954]: Updated: sos-3.2-40.el6.noarch
.. note::
Because journal timestamps by default have no year,
the year of the logs will be inferred from the year in your timestamp.
This will also work around December/January crossovers.
Examples:
>>> type(JournalAll)
<class 'insights.parsers.journalctl.JournalAll'>
>>> len(JournalAll.lines)
10
>>> bona_list = JournalAll.get('(root) LIST (root)')
>>> bona_list[0].get('message')
'(root) LIST (root)'
"""
pass
[docs]
@parser(Specs.journal_since_boot)
class JournalSinceBoot(Syslog):
"""
Handle the output of ``journalctl --no-pager --boot`` command. Uses
the ``Syslog`` class parser functionality - see the base class for more
details.
Sample log lines::
-- Logs begin at Wed 2017-02-08 15:18:00 CET, end at Tue 2017-09-19 09:25:27 CEST. --
May 18 15:13:34 lxc-rhel68-sat56 jabberd/sm[11057]: session started: jid=rhn-dispatcher-sat@lxc-rhel6-sat56.redhat.com/superclient
May 18 15:13:36 lxc-rhel68-sat56 wrapper[11375]: --> Wrapper Started as Daemon
May 18 15:13:36 lxc-rhel68-sat56 wrapper[11375]: Launching a JVM...
May 18 15:24:28 lxc-rhel68-sat56 yum[11597]: Installed: lynx-2.8.6-27.el6.x86_64
May 18 15:36:19 lxc-rhel68-sat56 yum[11954]: Updated: sos-3.2-40.el6.noarch
Note:
Because journal timestamps by default have no year,
the year of the logs will be inferred from the year in your timestamp.
This will also work around December/January crossovers.
Examples:
>>> type(JournalSinceBoot)
<class 'insights.parsers.journalctl.JournalSinceBoot'>
>>> len(JournalSinceBoot.lines)
10
>>> bona_list = JournalSinceBoot.get('(root) LIST (root)')
>>> bona_list[0].get('message')
'(root) LIST (root)'
"""
pass