[PATCH] daemon: Fix LIBVIRT_DEBUG=1 default output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This commit changes the behavior of LIBVIRT_DEBUG=1 libvirtd:

$ git show 7022b09111d4322d21396a70d58320a9ad773962
commit 7022b09111d4322d21396a70d58320a9ad773962
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date:   Thu Sep 27 13:13:09 2012 +0100

    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).

Previously  'LIBVIRT_DEBUG=1 /usr/sbin/libvirtd' would show all debug
output to stderr, now it send debug output to the journal.

Only use the journal by default if running in daemon mode, or
if stdin is _not_ a tty. This should make libvirtd launched from
systemd use the journal, but preserve the old behavior in most
situations.
---
 daemon/libvirtd.c  | 9 ++++++---
 src/util/logging.c | 2 ++
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index d2e0a04..279a9d1 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -636,10 +636,13 @@ daemonSetupLogging(struct daemonConfig *config,
         virLogParseOutputs(config->log_outputs);
 
     /*
-     * If no defined outputs, then first try to direct it
-     * to the systemd journal (if it exists)....
+     * If no defined outputs, and either running
+     * as daemon or not on a tty, then first try
+     * to direct it to the systemd journal
+     * (if it exists)....
      */
-    if (virLogGetNbOutputs() == 0) {
+    if (virLogGetNbOutputs() == 0 &&
+        (godaemon || isatty(STDIN_FILENO) != 1)) {
         char *tmp;
         if (access("/run/systemd/journal/socket", W_OK) >= 0) {
             if (virAsprintf(&tmp, "%d:journald", virLogGetDefaultPriority()) < 0)
diff --git a/src/util/logging.c b/src/util/logging.c
index 9a8bba1..dd43842 100644
--- a/src/util/logging.c
+++ b/src/util/logging.c
@@ -1247,6 +1247,8 @@ virLogParseOutputs(const char *outputs)
     if (cur == NULL)
         return -1;
 
+    VIR_DEBUG("outputs=%s", outputs);
+
     virSkipSpaces(&cur);
     while (*cur != 0) {
         prio= virParseNumber(&cur);
-- 
1.7.11.7

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]