]> git.ipfire.org Git - thirdparty/util-linux.git/commit
logger: always update header when read from stdin
authorKarel Zak <kzak@redhat.com>
Tue, 1 Nov 2022 09:30:06 +0000 (10:30 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 1 Nov 2022 09:30:06 +0000 (10:30 +0100)
commit96ccdc00e1fcf1684f9734a189baf90e00ff0c9a
tree702d816fe8b9533baa6f557bf94b75742a02849b
parent85dd05de05c49809b2aca4420c842c52cad5abb9
logger: always update header when read from stdin

The current code updates the header only when the priority has been
changed. It's incorrect because wanted is a valid header or each entry
(don't forget that logger for stdin use-case is used in pipe to log
long-time running processes).

This patch also fixes the initial timestamp; it was originally generated
on logger startup, it now generates the header on the first message.

$ (sleep 2; date; sleep 2; date; sleep 2; date) | logger --stderr --no-act

old:
<13>Nov  1 10:42:14 kzak: Tue Nov  1 10:42:16 AM CET 2022
<13>Nov  1 10:42:14 kzak: Tue Nov  1 10:42:18 AM CET 2022
<13>Nov  1 10:42:14 kzak: Tue Nov  1 10:42:20 AM CET 2022

new:
<13>Nov  1 10:19:02 kzak: Tue Nov  1 10:19:02 AM CET 2022
<13>Nov  1 10:19:04 kzak: Tue Nov  1 10:19:04 AM CET 2022
<13>Nov  1 10:19:06 kzak: Tue Nov  1 10:19:06 AM CET 2022

Fixes: https://github.com/util-linux/util-linux/issues/1866
Signed-off-by: Karel Zak <kzak@redhat.com>
misc-utils/logger.c