mirror of
https://github.com/systemd/systemd.git
synced 2025-03-19 22:50:17 +03:00
test: use SYSLOG_IDENTIFIER= filter instead of "journalctl -u"
"journalctl -u foo.service" may not work as expected, especially entries for _TRANSPORT=stdout, for short-living services or when the service manager generates debugging logs. Instead, SYSLOG_IDENTIFIER= should be reliable for stdout. Let's use it. An example case: ``` __CURSOR=s=06278e3bf011458e973c81d370a8f7a5;i=1e4dc;b=1b0258a5c78341609bf462c72d4541c3;m=308de65;t=6194c3895a13f;x=50c7e9af5b8cfc37 __REALTIME_TIMESTAMP=1716665017803071 __MONOTONIC_TIMESTAMP=50912869 _BOOT_ID=1b0258a5c78341609bf462c72d4541c3 SYSLOG_FACILITY=3 _UID=0 _GID=0 _MACHINE_ID=d3490e076ab24968bfa19a6aab26beb3 _HOSTNAME=H _RUNTIME_SCOPE=system _TRANSPORT=stdout PRIORITY=6 _PID=2668 _STREAM_ID=3f9b8855636041988d003a9c63379b8a SYSLOG_IDENTIFIER=echo MESSAGE=foo ``` As you can see, there is no unit identifier.
This commit is contained in:
parent
bf7d672f5d
commit
fbe1e72eff
@ -724,7 +724,10 @@ systemd-sysext unmerge --no-reload
|
||||
systemd-sysext merge
|
||||
journalctl --sync
|
||||
set +o pipefail
|
||||
timeout -v 30s journalctl -b -u foo.service _TRANSPORT=stdout -o cat -n all --follow | grep -m 1 -q '^foo$'
|
||||
# "journalctl -u foo.service" may not work as expected, especially entries for _TRANSPORT=stdout,
|
||||
# for short-living services or when the service manager generates debugging logs.
|
||||
# Instead, SYSLOG_IDENTIFIER= should be reliable for stdout. Let's use it.
|
||||
timeout -v 30s journalctl -b SYSLOG_IDENTIFIER=echo _TRANSPORT=stdout -o cat -n all --follow | grep -m 1 -q '^foo$'
|
||||
set -o pipefail
|
||||
systemd-sysext unmerge --no-reload
|
||||
# Grep on the Warning to find the warning helper mentioning the daemon reload.
|
||||
|
Loading…
x
Reference in New Issue
Block a user