mirror of
https://github.com/systemd/systemd
synced 2024-09-06 16:56:43 +00:00
![Lars Karlitski](/assets/img/avatar_default.png)
This option allows restricting the shown fields in the output modes that would normally show all fields. It allows clients that are only interested in a subset of the fields to access those more efficiently. Also, it makes the resulting size of the output more predictable. It has no effect on the various `short` output modes, because those already only show a subset of the fields.
83 lines
2.3 KiB
Bash
Executable file
83 lines
2.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -x
|
|
set -e
|
|
set -o pipefail
|
|
|
|
# Test stdout stream
|
|
|
|
# Skip empty lines
|
|
ID=$(journalctl --new-id128 | sed -n 2p)
|
|
>/expected
|
|
printf $'\n\n\n' | systemd-cat -t "$ID" --level-prefix false
|
|
journalctl --sync
|
|
journalctl -b -o cat -t "$ID" >/output
|
|
cmp /expected /output
|
|
|
|
ID=$(journalctl --new-id128 | sed -n 2p)
|
|
>/expected
|
|
printf $'<5>\n<6>\n<7>\n' | systemd-cat -t "$ID" --level-prefix true
|
|
journalctl --sync
|
|
journalctl -b -o cat -t "$ID" >/output
|
|
cmp /expected /output
|
|
|
|
# Remove trailing spaces
|
|
ID=$(journalctl --new-id128 | sed -n 2p)
|
|
printf "Trailing spaces\n">/expected
|
|
printf $'<5>Trailing spaces \t \n' | systemd-cat -t "$ID" --level-prefix true
|
|
journalctl --sync
|
|
journalctl -b -o cat -t "$ID" >/output
|
|
cmp /expected /output
|
|
|
|
ID=$(journalctl --new-id128 | sed -n 2p)
|
|
printf "Trailing spaces\n">/expected
|
|
printf $'Trailing spaces \t \n' | systemd-cat -t "$ID" --level-prefix false
|
|
journalctl --sync
|
|
journalctl -b -o cat -t "$ID" >/output
|
|
cmp /expected /output
|
|
|
|
# Don't remove leading spaces
|
|
ID=$(journalctl --new-id128 | sed -n 2p)
|
|
printf $' \t Leading spaces\n'>/expected
|
|
printf $'<5> \t Leading spaces\n' | systemd-cat -t "$ID" --level-prefix true
|
|
journalctl --sync
|
|
journalctl -b -o cat -t "$ID" >/output
|
|
cmp /expected /output
|
|
|
|
ID=$(journalctl --new-id128 | sed -n 2p)
|
|
printf $' \t Leading spaces\n'>/expected
|
|
printf $' \t Leading spaces\n' | systemd-cat -t "$ID" --level-prefix false
|
|
journalctl --sync
|
|
journalctl -b -o cat -t "$ID" >/output
|
|
cmp /expected /output
|
|
|
|
# --output-fields restricts output
|
|
ID=$(journalctl --new-id128 | sed -n 2p)
|
|
printf $'foo' | systemd-cat -t "$ID" --level-prefix false
|
|
journalctl --sync
|
|
journalctl -b -o export --output-fields=MESSAGE,FOO --output-fields=PRIORITY,MESSAGE -t "$ID" >/output
|
|
[[ `grep -c . /output` -eq 6 ]]
|
|
grep -q '^__CURSOR=' /output
|
|
grep -q '^MESSAGE=foo$' /output
|
|
grep -q '^PRIORITY=6$' /output
|
|
! grep -q '^FOO=' /output
|
|
! grep -q '^SYSLOG_FACILITY=' /output
|
|
|
|
# Don't lose streams on restart
|
|
systemctl start forever-print-hola
|
|
sleep 3
|
|
systemctl restart systemd-journald
|
|
sleep 3
|
|
systemctl stop forever-print-hola
|
|
[[ ! -f "/i-lose-my-logs" ]]
|
|
|
|
# https://github.com/systemd/systemd/issues/4408
|
|
rm -f /i-lose-my-logs
|
|
systemctl start forever-print-hola
|
|
sleep 3
|
|
systemctl kill --signal=SIGKILL systemd-journald
|
|
sleep 3
|
|
[[ ! -f "/i-lose-my-logs" ]]
|
|
|
|
touch /testok
|