summaryrefslogtreecommitdiff
path: root/src/systemd/sd-journal.h
diff options
context:
space:
mode:
authorHarald Hoyer <harald@redhat.com>2013-04-11 15:27:55 +0200
committerHarald Hoyer <harald@redhat.com>2013-04-17 09:15:23 +0200
commitcd34b3c6670df8a3fd49179131fe762b2dd86b01 (patch)
tree60dc6d2658200e41ae0c0e9a6510f78e6d3d19ee /src/systemd/sd-journal.h
parent003ac9d0318ce28e0b29af5440c9f28f884da04c (diff)
downloadsystemd-cd34b3c6670df8a3fd49179131fe762b2dd86b01.tar.gz
journal: add one more level on top with AND
When using "-p" and "-b" in combination with "-u", the output is not what you would expect. The reason is the sd_journal_add_disjunction() call in add_matches_for_unit() and add_matches_for_user_unit(), which adds two ORs without taking the other conditions to every OR. Adding another level on top with AND and sd_journal_add_conjunction() solves the problem. Output before: $ journalctl -o short-monotonic -ab -p 0 -u sshd.service -- Reboot -- [ 3.216305] lenovo systemd[1]: Starting OpenSSH server daemon... -- Reboot -- [ 3.168666] lenovo systemd[1]: Starting OpenSSH server daemon... [ 3.169639] lenovo systemd[1]: Started OpenSSH server daemon. [36285.635389] lenovo systemd[1]: Stopped OpenSSH server daemon. -- Reboot -- [ 10.838657] lenovo systemd[1]: Starting OpenSSH server daemon... [ 10.913698] lenovo systemd[1]: Started OpenSSH server daemon. [ 6881.035183] lenovo systemd[1]: Stopped OpenSSH server daemon. -- Reboot -- [ 6.636228] lenovo systemd[1]: Starting OpenSSH server daemon... [ 6.662573] lenovo systemd[1]: Started OpenSSH server daemon. [ 6.681148] lenovo sshd[397]: Server listening on 0.0.0.0 port 22. [ 6.681379] lenovo sshd[397]: Server listening on :: port 22. As we see, the output is from _every_ boot and priority 0 is not taken into account. Output after patch: $ journalctl -o short-monotonic -ab -p 0 -u sshd.service -- Logs begin at Sun 2013-02-24 20:54:44 CET, end at Tue 2013-03-19 14:58:21 CET. -- Increasing the priority: $ journalctl -o short-monotonic -ab -p 6 -u sshd.service -- Logs begin at Sun 2013-02-24 20:54:44 CET, end at Tue 2013-03-19 14:59:12 CET. -- [ 6.636228] lenovo systemd[1]: Starting OpenSSH server daemon... [ 6.662573] lenovo systemd[1]: Started OpenSSH server daemon. [ 6.681148] lenovo sshd[397]: Server listening on 0.0.0.0 port 22. [ 6.681379] lenovo sshd[397]: Server listening on :: port 22.
Diffstat (limited to 'src/systemd/sd-journal.h')
-rw-r--r--src/systemd/sd-journal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/systemd/sd-journal.h b/src/systemd/sd-journal.h
index afafee2d82..51653bafe9 100644
--- a/src/systemd/sd-journal.h
+++ b/src/systemd/sd-journal.h
@@ -106,6 +106,7 @@ void sd_journal_restart_data(sd_journal *j);
int sd_journal_add_match(sd_journal *j, const void *data, size_t size);
int sd_journal_add_disjunction(sd_journal *j);
+int sd_journal_add_conjunction(sd_journal *j);
void sd_journal_flush_matches(sd_journal *j);
int sd_journal_seek_head(sd_journal *j);