The systemd journal expects log record PRIORITY values to be encoded using the syslog compatible numbering scheme, not libvirt's own native numbering scheme. We must therefore apply a conversion. Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> --- src/util/virlog.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/util/virlog.c b/src/util/virlog.c index b8f539e..68af0f3 100644 --- a/src/util/virlog.c +++ b/src/util/virlog.c @@ -1000,7 +1000,22 @@ virLogAddOutputToFile(virLogPriority priority, } -#if HAVE_SYSLOG_H +#if HAVE_SYSLOG_H || USE_JOURNALD + +/* Compat in case we build with journald, but no syslog */ +# ifndef LOG_DEBUG +# define LOG_DEBUG 7 +# endif +# ifndef LOG_INFO +# define LOG_INFO 6 +# endif +# ifndef LOG_WARNING +# define LOG_WARNING 4 +# endif +# ifndef LOG_ERR +# define LOG_ERR 3 +# endif + static int virLogPrioritySyslog(virLogPriority priority) { @@ -1017,8 +1032,10 @@ virLogPrioritySyslog(virLogPriority priority) return LOG_ERR; } } +#endif /* HAVE_SYSLOG_H || USE_JOURNALD */ +#if HAVE_SYSLOG_H static void virLogOutputToSyslog(virLogSource source ATTRIBUTE_UNUSED, virLogPriority priority, @@ -1187,7 +1204,8 @@ virLogOutputToJournald(virLogSource source, state.bufs_end = iov_bufs + ARRAY_CARDINALITY(iov_bufs); journalAddString(&state, "MESSAGE", rawstr); - journalAddInt(&state, "PRIORITY", priority); + journalAddInt(&state, "PRIORITY", + virLogPrioritySyslog(priority)); journalAddString(&state, "LIBVIRT_SOURCE", virLogSourceTypeToString(source)); if (filename) -- 1.8.5.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list