From 7022b09111d4322d21396a70d58320a9ad773962 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 27 Sep 2012 13:13:09 +0100 Subject: [PATCH] Automatically enable systemd journal logging Probe to see if the systemd journal is accessible, and if so enable logging to the journal by default, rather than stderr (current default under systemd). Signed-off-by: Daniel P. Berrange --- daemon/libvirtd.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c index 1ca883afb2..b49acc5bde 100644 --- a/daemon/libvirtd.c +++ b/daemon/libvirtd.c @@ -636,7 +636,21 @@ daemonSetupLogging(struct daemonConfig *config, virLogParseOutputs(config->log_outputs); /* - * If no defined outputs, then direct to libvirtd.log when running + * If no defined outputs, then first try to direct it + * to the systemd journal (if it exists).... + */ + if (virLogGetNbOutputs() == 0) { + char *tmp; + if (access("/run/systemd/journal/socket", W_OK) >= 0) { + if (virAsprintf(&tmp, "%d:journald", virLogGetDefaultPriority()) < 0) + goto no_memory; + virLogParseOutputs(tmp); + VIR_FREE(tmp); + } + } + + /* + * otherwise direct to libvirtd.log when running * as daemon. Otherwise the default output is stderr. */ if (virLogGetNbOutputs() == 0) {