Essentially, bring back the old behaviour as of commit
eba36a38 which
was later changed by commit
ae06048bf5d. Even though all the stderr
messages will eventually end up in the journal, we're not making use of
the fields journald provides.
https://bugzilla.redhat.com/show_bug.cgi?id=
1592644
Signed-off-by: Erik Skultety <eskultet@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
int
virLogSetDefaultOutput(const char *filename, bool godaemon, bool privileged)
{
- if (!godaemon)
- return virLogSetDefaultOutputToStderr();
+ bool have_journald = access("/run/systemd/journal/socket", W_OK) >= 0;
+
+ if (godaemon) {
+ if (have_journald)
+ return virLogSetDefaultOutputToJournald();
+ } else {
+ if (!isatty(STDIN_FILENO) && have_journald)
+ return virLogSetDefaultOutputToJournald();
- if (access("/run/systemd/journal/socket", W_OK) >= 0)
- return virLogSetDefaultOutputToJournald();
+ return virLogSetDefaultOutputToStderr();
+ }
return virLogSetDefaultOutputToFile(filename, privileged);
}