[libvirt] [PATCH] Log all errors at level INFO to stop polluting syslog

Daniel P. Berrange berrange at redhat.com
Tue Nov 23 10:23:10 UTC 2010


On Mon, Nov 22, 2010 at 12:10:58PM -0700, Eric Blake wrote:
> On 11/22/2010 07:11 AM, Daniel P. Berrange wrote:
> > Everytime a public API returns an error, libvirtd pollutes
> > syslog with that error message. Reduce the error logging
> > level to INFO so these don't appear by default.
> > 
> > * src/util/virterror.c: Log all errors at INFO
> > ---
> >  src/util/virterror.c |   14 +-------------
> >  1 files changed, 1 insertions(+), 13 deletions(-)
> > 
> > diff --git a/src/util/virterror.c b/src/util/virterror.c
> > index d524d04..ecd9fc9 100644
> > --- a/src/util/virterror.c
> > +++ b/src/util/virterror.c
> > @@ -64,18 +64,6 @@ void *virUserData = NULL;        /* associated data */
> >      }}								\
> >  }
> >  
> > -static virLogPriority virErrorLevelPriority(virErrorLevel level) {
> > -    switch (level) {
> > -        case VIR_ERR_NONE:
> > -            return(VIR_LOG_INFO);
> > -        case VIR_ERR_WARNING:
> > -            return(VIR_LOG_WARN);
> > -        case VIR_ERR_ERROR:
> > -            return(VIR_LOG_ERROR);
> > -    }
> > -    return(VIR_LOG_ERROR);
> 
> This logs at VIR_LOG_ERROR if level is ever out of range (not one of the
> 3 defined virErrorLevel values).  Can we ever get virErrorLevel set from
> external input, or would an out-of-range enum value represent a bug in
> our code?  If the former, then it may still be worth keeping this
> function, and only mapping the three known levels to VIR_LOG_INFO while
> keeping all other values as VIR_LOG_ERROR.  If the latter, then this
> patch seems fine to me.

The levels only ever come from our code. In addition every single
usage is just VIR_ERR_ERROR, except for 3 places in libvirt.c
As such the error levels have no real useful information and it
is simplest to ignore them

Daniel




More information about the libvir-list mailing list