mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 14:45:24 +00:00
Fix journald PRIORITY values
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@redhat.com>
This commit is contained in:
parent
54209df345
commit
21d370f0b9
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user