mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 11:31:16 +00:00
virlog: Introduce virLogFilterNew
This method allocates a new filter object which it then returns back to caller. Signed-off-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
b0f5dc9147
commit
435200cab4
@ -1873,6 +1873,7 @@ virLogDefineFilter;
|
|||||||
virLogDefineOutput;
|
virLogDefineOutput;
|
||||||
virLogFilterFree;
|
virLogFilterFree;
|
||||||
virLogFilterListFree;
|
virLogFilterListFree;
|
||||||
|
virLogFilterNew;
|
||||||
virLogGetDefaultPriority;
|
virLogGetDefaultPriority;
|
||||||
virLogGetFilters;
|
virLogGetFilters;
|
||||||
virLogGetNbFilters;
|
virLogGetNbFilters;
|
||||||
|
@ -1601,3 +1601,51 @@ virLogOutputNew(virLogOutputFunc f,
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* virLogFilterNew:
|
||||||
|
* @match: the pattern to match
|
||||||
|
* @priority: the priority to give to messages matching the pattern
|
||||||
|
* @flags: extra flags, see virLogFilterFlags enum
|
||||||
|
*
|
||||||
|
* Allocates and returns a new log filter object. The object has to be later
|
||||||
|
* defined, so that the pattern will be taken into account when executing the
|
||||||
|
* log filters (to select or reject a particular message) on messages.
|
||||||
|
*
|
||||||
|
* The filter defines a rules that will apply only to messages matching
|
||||||
|
* the pattern (currently if @match is a substring of the message category)
|
||||||
|
*
|
||||||
|
* Returns a reference to a newly created filter that needs to be defined using
|
||||||
|
* virLogDefineFilters, or NULL in case of an error.
|
||||||
|
*/
|
||||||
|
virLogFilterPtr
|
||||||
|
virLogFilterNew(const char *match,
|
||||||
|
virLogPriority priority,
|
||||||
|
unsigned int flags)
|
||||||
|
{
|
||||||
|
virLogFilterPtr ret = NULL;
|
||||||
|
char *mdup = NULL;
|
||||||
|
|
||||||
|
virCheckFlags(VIR_LOG_STACK_TRACE, NULL);
|
||||||
|
|
||||||
|
if (priority < VIR_LOG_DEBUG || priority > VIR_LOG_ERROR) {
|
||||||
|
virReportError(VIR_ERR_INVALID_ARG, _("Invalid log priority %d"),
|
||||||
|
priority);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (VIR_STRDUP_QUIET(mdup, match) < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (VIR_ALLOC_QUIET(ret) < 0) {
|
||||||
|
VIR_FREE(mdup);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret->match = mdup;
|
||||||
|
ret->priority = priority;
|
||||||
|
ret->flags = flags;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
@ -232,5 +232,8 @@ virLogOutputPtr virLogOutputNew(virLogOutputFunc f,
|
|||||||
virLogPriority priority,
|
virLogPriority priority,
|
||||||
virLogDestination dest,
|
virLogDestination dest,
|
||||||
const char *name) ATTRIBUTE_NONNULL(1);
|
const char *name) ATTRIBUTE_NONNULL(1);
|
||||||
|
virLogFilterPtr virLogFilterNew(const char *match,
|
||||||
|
virLogPriority priority,
|
||||||
|
unsigned int flags) ATTRIBUTE_NONNULL(1);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user