]> xenbits.xensource.com Git - libvirt.git/commitdiff
daemon: Split output parsing and output defining
authorErik Skultety <eskultet@redhat.com>
Thu, 17 Mar 2016 14:26:40 +0000 (15:26 +0100)
committerErik Skultety <eskultet@redhat.com>
Mon, 10 Oct 2016 06:27:25 +0000 (08:27 +0200)
Since virLogParseAndDefineOutputs is going to be stripped from 'output defining'
logic, replace all relevant occurrences with virLogSetOutputs call to make the
change transparent to all original callers (daemons mostly).

Signed-off-by: Erik Skultety <eskultet@redhat.com>
daemon/libvirtd.c
src/locking/lock_daemon.c
src/logging/log_daemon.c
src/util/virlog.c
tests/testutils.c
tests/virlogtest.c

index 8efa69defb671ed329f07f543782a1958c0b80aa..c482f278922a920c58039da934dc214d0e63c7a6 100644 (file)
@@ -693,8 +693,8 @@ daemonSetupLogging(struct daemonConfig *config,
     if (virLogGetNbFilters() == 0)
         virLogParseAndDefineFilters(config->log_filters);
 
-    if (virLogGetNbOutputs() == 0)
-        virLogParseAndDefineOutputs(config->log_outputs);
+    if (config->log_outputs && virLogGetNbOutputs() == 0)
+        virLogSetOutputs(config->log_outputs);
 
     /*
      * Command line override for --verbose
@@ -721,7 +721,7 @@ daemonSetupLogging(struct daemonConfig *config,
 
             if (virAsprintf(&tmp, "%d:journald", priority) < 0)
                 goto error;
-            virLogParseAndDefineOutputs(tmp);
+            virLogSetOutputs(tmp);
             VIR_FREE(tmp);
         }
     }
@@ -764,7 +764,7 @@ daemonSetupLogging(struct daemonConfig *config,
             if (virAsprintf(&tmp, "%d:stderr", virLogGetDefaultPriority()) < 0)
                 goto error;
         }
-        virLogParseAndDefineOutputs(tmp);
+        virLogSetOutputs(tmp);
         VIR_FREE(tmp);
     }
 
index 84c30296242337c0a8fd7fc7202b2d1680dc58aa..4856cd6fb440569989bf25240a16491786d52437 100644 (file)
@@ -478,8 +478,8 @@ virLockDaemonSetupLogging(virLockDaemonConfigPtr config,
     if (virLogGetNbFilters() == 0)
         virLogParseAndDefineFilters(config->log_filters);
 
-    if (virLogGetNbOutputs() == 0)
-        virLogParseAndDefineOutputs(config->log_outputs);
+    if (config->log_outputs && virLogGetNbOutputs() == 0)
+        virLogSetOutputs(config->log_outputs);
 
     /*
      * Command line override for --verbose
@@ -499,7 +499,7 @@ virLockDaemonSetupLogging(virLockDaemonConfigPtr config,
         if (access("/run/systemd/journal/socket", W_OK) >= 0) {
             if (virAsprintf(&tmp, "%d:journald", virLogGetDefaultPriority()) < 0)
                 goto error;
-            virLogParseAndDefineOutputs(tmp);
+            virLogSetOutputs(tmp);
             VIR_FREE(tmp);
         }
     }
@@ -543,7 +543,7 @@ virLockDaemonSetupLogging(virLockDaemonConfigPtr config,
             if (virAsprintf(&tmp, "%d:stderr", virLogGetDefaultPriority()) < 0)
                 goto error;
         }
-        virLogParseAndDefineOutputs(tmp);
+        virLogSetOutputs(tmp);
         VIR_FREE(tmp);
     }
 
index 48eece97e2b0d4d2ca19522f11bb6123aaf9d336..74dae5f67c9f5a5a73c5bb30487ed6adb6a4609c 100644 (file)
@@ -406,8 +406,8 @@ virLogDaemonSetupLogging(virLogDaemonConfigPtr config,
     if (virLogGetNbFilters() == 0)
         virLogParseAndDefineFilters(config->log_filters);
 
-    if (virLogGetNbOutputs() == 0)
-        virLogParseAndDefineOutputs(config->log_outputs);
+    if (config->log_outputs && virLogGetNbOutputs() == 0)
+        virLogSetOutputs(config->log_outputs);
 
     /*
      * Command line override for --verbose
@@ -427,7 +427,7 @@ virLogDaemonSetupLogging(virLogDaemonConfigPtr config,
         if (access("/run/systemd/journal/socket", W_OK) >= 0) {
             if (virAsprintf(&tmp, "%d:journald", virLogGetDefaultPriority()) < 0)
                 goto error;
-            virLogParseAndDefineOutputs(tmp);
+            virLogSetOutputs(tmp);
             VIR_FREE(tmp);
         }
     }
@@ -471,7 +471,7 @@ virLogDaemonSetupLogging(virLogDaemonConfigPtr config,
             if (virAsprintf(&tmp, "%d:stderr", virLogGetDefaultPriority()) < 0)
                 goto error;
         }
-        virLogParseAndDefineOutputs(tmp);
+        virLogSetOutputs(tmp);
         VIR_FREE(tmp);
     }
 
index 0444155bba51b2dba669a2600d7c4ee350478fb8..9a247eefa11876091030e88df4637b620cbf0c75 100644 (file)
@@ -1627,7 +1627,7 @@ virLogSetFromEnv(void)
         virLogParseAndDefineFilters(debugEnv);
     debugEnv = virGetEnvAllowSUID("LIBVIRT_LOG_OUTPUTS");
     if (debugEnv && *debugEnv)
-        virLogParseAndDefineOutputs(debugEnv);
+        virLogSetOutputs(debugEnv);
 }
 
 
index 35b041f2d7338be2b54dbb5191c831d32ff1f553..a596a83a96043ff0d0a8f071c6139eedc73cfc1d 100644 (file)
@@ -872,6 +872,9 @@ int virTestMain(int argc,
 #ifdef TEST_OOM
     char *oomstr;
 #endif
+    size_t noutputs = 0;
+    virLogOutputPtr output = NULL;
+    virLogOutputPtr *outputs = NULL;
 
     if (getenv("VIR_TEST_FILE_ACCESS"))
         VIRT_TEST_PRELOAD(TEST_MOCK);
@@ -911,9 +914,15 @@ int virTestMain(int argc,
 
     virLogSetFromEnv();
     if (!getenv("LIBVIRT_DEBUG") && !virLogGetNbOutputs()) {
-        if (virLogDefineOutput(virtTestLogOutput, virtTestLogClose, &testLog,
-                               VIR_LOG_DEBUG, VIR_LOG_TO_STDERR, NULL, 0) < 0)
+        if (!(output = virLogOutputNew(virtTestLogOutput, virtTestLogClose,
+                                       &testLog, VIR_LOG_DEBUG,
+                                       VIR_LOG_TO_STDERR, NULL)) ||
+            VIR_APPEND_ELEMENT(outputs, noutputs, output) < 0 ||
+            virLogDefineOutputs(outputs, noutputs) < 0) {
+            virLogOutputFree(output);
+            virLogOutputListFree(outputs, noutputs);
             return EXIT_FAILURE;
+        }
     }
 
     if ((testRange = getenv("VIR_TEST_RANGE")) != NULL) {
@@ -988,6 +997,7 @@ int virTestMain(int argc,
             fprintf(stderr, "%*s", 40 - (int)(testCounter % 40), "");
         fprintf(stderr, " %-3zu %s\n", testCounter, ret == 0 ? "OK" : "FAIL");
     }
+    virLogReset();
     VIR_FREE(perl);
     return ret;
 }
index afcd84a4bbd4cb58ca805d74fd44ceb1d5914022..9d657d09ed0fd6a947bd3c4973fe6b4bb8928162 100644 (file)
@@ -48,9 +48,10 @@ testLogParseOutputs(const void *opaque)
 {
     int ret = -1;
     int noutputs;
+    virLogOutputPtr *outputs = NULL;
     const struct testLogData *data = opaque;
 
-    noutputs = virLogParseAndDefineOutputs(data->str);
+    noutputs = virLogParseOutputs(data->str, &outputs);
     if (noutputs < 0) {
         if (!data->pass) {
             VIR_TEST_DEBUG("Got expected error: %s\n",
@@ -70,7 +71,7 @@ testLogParseOutputs(const void *opaque)
 
     ret = 0;
  cleanup:
-    virLogReset();
+    virLogOutputListFree(outputs, noutputs);
     return ret;
 }