mirror of https://gitee.com/openkylin/libvirt.git
Various logging cleanups in code and doc
* docs/logging.html[.in] qemud/libvirtd.conf qemud/qemud.c src/logging.[ch]: cleanup the logging code and docs to remove all references to log level 0, cleanup hardcoded values and add a default VIR_LOG_DEFAULT value, patch by Amy Griffis daniel
This commit is contained in:
parent
f7bd305904
commit
2a004db6c7
|
@ -1,3 +1,10 @@
|
||||||
|
Wed Jul 1 13:18:37 CEST 2009 Daniel Veillard <veillard@redhat.com>
|
||||||
|
|
||||||
|
* docs/logging.html[.in] qemud/libvirtd.conf qemud/qemud.c
|
||||||
|
src/logging.[ch]: cleanup the logging code and docs to remove
|
||||||
|
all references to log level 0, cleanup hardcoded values and add
|
||||||
|
a default VIR_LOG_DEFAULT value, patch by Amy Griffis
|
||||||
|
|
||||||
Wed Jul 1 12:38:28 CEST 2009 Daniel Veillard <veillard@redhat.com>
|
Wed Jul 1 12:38:28 CEST 2009 Daniel Veillard <veillard@redhat.com>
|
||||||
|
|
||||||
* src/opennebula/one_conf.c src/opennebula/one_driver.c: cleanup
|
* src/opennebula/one_conf.c src/opennebula/one_driver.c: cleanup
|
||||||
|
|
|
@ -151,7 +151,7 @@
|
||||||
variables, stored in the configuration file:
|
variables, stored in the configuration file:
|
||||||
</p>
|
</p>
|
||||||
<ul><li>log_level: accepts the following values:
|
<ul><li>log_level: accepts the following values:
|
||||||
<ul><li>0: no logging at all</li><li>4: only errors</li><li>3: warnings and errors</li><li>2: informations, warnings and errors</li><li>1: debug and everything</li></ul></li><li>log_filters: allow to define logging filters</li><li>log_outputs: allow to define logging outputs</li></ul>
|
<ul><li>4: only errors</li><li>3: warnings and errors</li><li>2: informations, warnings and errors</li><li>1: debug and everything</li></ul></li><li>log_filters: allow to define logging filters</li><li>log_outputs: allow to define logging outputs</li></ul>
|
||||||
<p>In both case the syntax for filters and outputs is similar.</p>
|
<p>In both case the syntax for filters and outputs is similar.</p>
|
||||||
<p>The format for a filter is:</p>
|
<p>The format for a filter is:</p>
|
||||||
<pre>x:name</pre>
|
<pre>x:name</pre>
|
||||||
|
@ -170,15 +170,15 @@
|
||||||
given <code>name</code> as the ident</li><li><code>x:file:file_path</code>output to a file, with the given
|
given <code>name</code> as the ident</li><li><code>x:file:file_path</code>output to a file, with the given
|
||||||
filepath</li></ul>
|
filepath</li></ul>
|
||||||
<p>In all cases the x prefix is the minimal level, acting as a filter:</p>
|
<p>In all cases the x prefix is the minimal level, acting as a filter:</p>
|
||||||
<ul><li>0: everything</li><li>1: DEBUG</li><li>2: INFO</li><li>3: WARNING</li><li>4: ERROR</li></ul>
|
<ul><li>1: DEBUG</li><li>2: INFO</li><li>3: WARNING</li><li>4: ERROR</li></ul>
|
||||||
<p>Multiple output can be defined , they just need to be separated by
|
<p>Multiple output can be defined , they just need to be separated by
|
||||||
spaces, e.g.: <code>"3:syslog:libvirtd 0:file:/tmp/libvirt.log"</code>
|
spaces, e.g.: <code>"3:syslog:libvirtd 1:file:/tmp/libvirt.log"</code>
|
||||||
will log all warnings and errors to syslog under the libvirtd ident
|
will log all warnings and errors to syslog under the libvirtd ident
|
||||||
but also log everything debugging and informations included in the
|
but also log everything debugging and informations included in the
|
||||||
file <code>/tmp/libvirt.log</code></p>
|
file <code>/tmp/libvirt.log</code></p>
|
||||||
<p>For example setting up the following:</p>
|
<p>For example setting up the following:</p>
|
||||||
<pre>export LIBVIRT_DEBUG=1
|
<pre>export LIBVIRT_DEBUG=1
|
||||||
export LIBVIRT_LOG_OUTPUTS="0:file:virsh.log"</pre>
|
export LIBVIRT_LOG_OUTPUTS="1:file:virsh.log"</pre>
|
||||||
<p>and then running virsh will accumulate the logs in the
|
<p>and then running virsh will accumulate the logs in the
|
||||||
<code>virsh.log</code> file in a way similar to:</p>
|
<code>virsh.log</code> file in a way similar to:</p>
|
||||||
<pre>14:29:04.771: debug : virInitialize:278 : register drivers
|
<pre>14:29:04.771: debug : virInitialize:278 : register drivers
|
||||||
|
|
|
@ -49,7 +49,6 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li>log_level: accepts the following values:
|
<li>log_level: accepts the following values:
|
||||||
<ul>
|
<ul>
|
||||||
<li>0: no logging at all</li>
|
|
||||||
<li>4: only errors</li>
|
<li>4: only errors</li>
|
||||||
<li>3: warnings and errors</li>
|
<li>3: warnings and errors</li>
|
||||||
<li>2: informations, warnings and errors</li>
|
<li>2: informations, warnings and errors</li>
|
||||||
|
@ -84,20 +83,19 @@
|
||||||
</ul>
|
</ul>
|
||||||
<p>In all cases the x prefix is the minimal level, acting as a filter:</p>
|
<p>In all cases the x prefix is the minimal level, acting as a filter:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>0: everything</li>
|
|
||||||
<li>1: DEBUG</li>
|
<li>1: DEBUG</li>
|
||||||
<li>2: INFO</li>
|
<li>2: INFO</li>
|
||||||
<li>3: WARNING</li>
|
<li>3: WARNING</li>
|
||||||
<li>4: ERROR</li>
|
<li>4: ERROR</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Multiple output can be defined , they just need to be separated by
|
<p>Multiple output can be defined , they just need to be separated by
|
||||||
spaces, e.g.: <code>"3:syslog:libvirtd 0:file:/tmp/libvirt.log"</code>
|
spaces, e.g.: <code>"3:syslog:libvirtd 1:file:/tmp/libvirt.log"</code>
|
||||||
will log all warnings and errors to syslog under the libvirtd ident
|
will log all warnings and errors to syslog under the libvirtd ident
|
||||||
but also log everything debugging and informations included in the
|
but also log everything debugging and informations included in the
|
||||||
file <code>/tmp/libvirt.log</code></p>
|
file <code>/tmp/libvirt.log</code></p>
|
||||||
<p>For example setting up the following:</p>
|
<p>For example setting up the following:</p>
|
||||||
<pre>export LIBVIRT_DEBUG=1
|
<pre>export LIBVIRT_DEBUG=1
|
||||||
export LIBVIRT_LOG_OUTPUTS="0:file:virsh.log"</pre>
|
export LIBVIRT_LOG_OUTPUTS="1:file:virsh.log"</pre>
|
||||||
<p>and then running virsh will accumulate the logs in the
|
<p>and then running virsh will accumulate the logs in the
|
||||||
<code>virsh.log</code> file in a way similar to:</p>
|
<code>virsh.log</code> file in a way similar to:</p>
|
||||||
<pre>14:29:04.771: debug : virInitialize:278 : register drivers
|
<pre>14:29:04.771: debug : virInitialize:278 : register drivers
|
||||||
|
|
|
@ -269,7 +269,7 @@
|
||||||
# Logging controls
|
# Logging controls
|
||||||
#
|
#
|
||||||
|
|
||||||
# Logging level: 0 none, 4 errors, 3 warnings, 2 informations, 1 debug
|
# Logging level: 4 errors, 3 warnings, 2 informations, 1 debug
|
||||||
# basically 1 will log everything possible
|
# basically 1 will log everything possible
|
||||||
#log_level = 3
|
#log_level = 3
|
||||||
|
|
||||||
|
@ -303,13 +303,12 @@
|
||||||
# x:file:file_path
|
# x:file:file_path
|
||||||
# output to a file, with the given filepath
|
# output to a file, with the given filepath
|
||||||
# In all case the x prefix is the minimal level, acting as a filter
|
# In all case the x prefix is the minimal level, acting as a filter
|
||||||
# 0: everything
|
|
||||||
# 1: DEBUG
|
# 1: DEBUG
|
||||||
# 2: INFO
|
# 2: INFO
|
||||||
# 3: WARNING
|
# 3: WARNING
|
||||||
# 4: ERROR
|
# 4: ERROR
|
||||||
#
|
#
|
||||||
# Multiple output can be defined , they just need to be separated by spaces.
|
# Multiple output can be defined, they just need to be separated by spaces.
|
||||||
# e.g.:
|
# e.g.:
|
||||||
# log_outputs="3:syslog:libvirtd"
|
# log_outputs="3:syslog:libvirtd"
|
||||||
# to log all warnings and errors to syslog under the libvirtd ident
|
# to log all warnings and errors to syslog under the libvirtd ident
|
||||||
|
|
|
@ -128,7 +128,7 @@ static int sigwrite = -1; /* Signal handler pipe */
|
||||||
static int ipsock = 0; /* -l Listen for TCP/IP */
|
static int ipsock = 0; /* -l Listen for TCP/IP */
|
||||||
|
|
||||||
/* Defaults for logging */
|
/* Defaults for logging */
|
||||||
static int log_level = 3;
|
static int log_level = VIR_LOG_DEFAULT;
|
||||||
static char *log_filters = NULL;
|
static char *log_filters = NULL;
|
||||||
static char *log_outputs = NULL;
|
static char *log_outputs = NULL;
|
||||||
|
|
||||||
|
@ -2499,15 +2499,16 @@ qemudSetLogging(virConfPtr conf, const char *filename) {
|
||||||
log_outputs = strdup(debugEnv);
|
log_outputs = strdup(debugEnv);
|
||||||
}
|
}
|
||||||
if (!log_outputs) {
|
if (!log_outputs) {
|
||||||
|
char *tmp = NULL;
|
||||||
if (godaemon) {
|
if (godaemon) {
|
||||||
char *tmp = NULL;
|
|
||||||
if (virAsprintf (&tmp, "%d:syslog:libvirtd", log_level) < 0)
|
if (virAsprintf (&tmp, "%d:syslog:libvirtd", log_level) < 0)
|
||||||
goto free_and_fail;
|
goto free_and_fail;
|
||||||
virLogParseOutputs (tmp);
|
|
||||||
VIR_FREE (tmp);
|
|
||||||
} else {
|
} else {
|
||||||
virLogParseOutputs("0:stderr:libvirtd");
|
if (virAsprintf(&tmp, "%d:stderr", log_level) < 0)
|
||||||
|
goto free_and_fail;
|
||||||
}
|
}
|
||||||
|
virLogParseOutputs(tmp);
|
||||||
|
VIR_FREE(tmp);
|
||||||
} else {
|
} else {
|
||||||
virLogParseOutputs(log_outputs);
|
virLogParseOutputs(log_outputs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,7 +119,7 @@ static int virLogNbOutputs = 0;
|
||||||
/*
|
/*
|
||||||
* Default priorities
|
* Default priorities
|
||||||
*/
|
*/
|
||||||
static virLogPriority virLogDefaultPriority = VIR_LOG_WARN;
|
static virLogPriority virLogDefaultPriority = VIR_LOG_DEFAULT;
|
||||||
|
|
||||||
static int virLogResetFilters(void);
|
static int virLogResetFilters(void);
|
||||||
static int virLogResetOutputs(void);
|
static int virLogResetOutputs(void);
|
||||||
|
@ -174,7 +174,7 @@ int virLogStartup(void) {
|
||||||
virLogLen = 0;
|
virLogLen = 0;
|
||||||
virLogStart = 0;
|
virLogStart = 0;
|
||||||
virLogEnd = 0;
|
virLogEnd = 0;
|
||||||
virLogDefaultPriority = VIR_LOG_WARN;
|
virLogDefaultPriority = VIR_LOG_DEFAULT;
|
||||||
virLogUnlock();
|
virLogUnlock();
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
@ -196,7 +196,7 @@ int virLogReset(void) {
|
||||||
virLogLen = 0;
|
virLogLen = 0;
|
||||||
virLogStart = 0;
|
virLogStart = 0;
|
||||||
virLogEnd = 0;
|
virLogEnd = 0;
|
||||||
virLogDefaultPriority = VIR_LOG_WARN;
|
virLogDefaultPriority = VIR_LOG_DEFAULT;
|
||||||
virLogUnlock();
|
virLogUnlock();
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
@ -689,7 +689,7 @@ int virLogParseOutputs(const char *outputs) {
|
||||||
virSkipSpaces(&cur);
|
virSkipSpaces(&cur);
|
||||||
while (*cur != 0) {
|
while (*cur != 0) {
|
||||||
prio= virParseNumber(&cur);
|
prio= virParseNumber(&cur);
|
||||||
if ((prio < 0) || (prio > 4))
|
if ((prio < VIR_LOG_DEBUG) || (prio > VIR_LOG_ERROR))
|
||||||
return(-1);
|
return(-1);
|
||||||
if (*cur != ':')
|
if (*cur != ':')
|
||||||
return(-1);
|
return(-1);
|
||||||
|
@ -770,7 +770,7 @@ int virLogParseFilters(const char *filters) {
|
||||||
virSkipSpaces(&cur);
|
virSkipSpaces(&cur);
|
||||||
while (*cur != 0) {
|
while (*cur != 0) {
|
||||||
prio= virParseNumber(&cur);
|
prio= virParseNumber(&cur);
|
||||||
if ((prio < 0) || (prio > 4))
|
if ((prio < VIR_LOG_DEBUG) || (prio > VIR_LOG_ERROR))
|
||||||
return(-1);
|
return(-1);
|
||||||
if (*cur != ':')
|
if (*cur != ':')
|
||||||
return(-1);
|
return(-1);
|
||||||
|
|
|
@ -77,6 +77,8 @@ typedef enum {
|
||||||
VIR_LOG_ERROR,
|
VIR_LOG_ERROR,
|
||||||
} virLogPriority;
|
} virLogPriority;
|
||||||
|
|
||||||
|
#define VIR_LOG_DEFAULT VIR_LOG_WARN
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* virLogOutputFunc:
|
* virLogOutputFunc:
|
||||||
* @category: the category for the message
|
* @category: the category for the message
|
||||||
|
|
Loading…
Reference in New Issue