virLogOutputListFree(outputs, noutputs);
return ret;
}
+
+
+/**
+ * virLogSetFilters:
+ * @src: string defining a (set of) filter(s)
+ *
+ * Replaces the current set of defined filters with a new set of filters.
+ *
+ * Returns 0 on success or -1 in case of an error.
+ */
+int
+virLogSetFilters(const char *src)
+{
+ int ret = -1;
+ int nfilters = 0;
+ virLogFilterPtr *filters = NULL;
+
+ if (virLogInitialize() < 0)
+ return -1;
+
+ if (src && (nfilters = virLogParseFilters(src, &filters)) < 0)
+ goto cleanup;
+
+ if (virLogDefineFilters(filters, nfilters) < 0)
+ goto cleanup;
+
+ filters = NULL;
+ ret = 0;
+ cleanup:
+ virLogFilterListFree(filters, nfilters);
+ return ret;
+}
void virLogFilterFree(virLogFilterPtr filter);
void virLogFilterListFree(virLogFilterPtr *list, int count);
int virLogSetOutputs(const char *outputs) ATTRIBUTE_NONNULL(1);
+int virLogSetFilters(const char *filters);
/*
* Internal logging API