On Tue, Dec 11, 2018 at 03:37:45PM +0100, Christophe Fergeau wrote: > Since spice 0.14.1, it's possible to use g_log_set_default_handler() to > use a custom function to print spice-server's logs, which gives more > consistent log output. > > With older spice versions, this is not going to work as expected, but > will not have any ill effect, so this call is not conditional on spice > version. > > Since this added g_log_set_default_handler() will bridge glib logging > and QEMU logging, the call might fit better in a more generic place.
Yeah, I think this is the kind of thing that could go early in the main() method. It might also be relevant to integrate it into unit tests and other tools (qemu-img/nbd/io/etc). > > Signed-off-by: Christophe Fergeau <cferg...@redhat.com> > --- > ui/spice-core.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/ui/spice-core.c b/ui/spice-core.c > index ebaae24643..443a2b3d32 100644 > --- a/ui/spice-core.c > +++ b/ui/spice-core.c > @@ -632,6 +632,30 @@ static void vm_change_state_handler(void *opaque, int > running, > } > } > > +static void qemu_log_func(const gchar *log_domain, > + GLogLevelFlags log_level, > + const gchar *message, > + gpointer user_data) > +{ > + switch (log_level & G_LOG_LEVEL_MASK) { > + case G_LOG_LEVEL_DEBUG: > + break; > + case G_LOG_LEVEL_INFO: > + /* Fall through */ > + case G_LOG_LEVEL_MESSAGE: > + info_report("%s", message); > + break; > + case G_LOG_LEVEL_WARNING: > + /* Fall through */ > + case G_LOG_LEVEL_CRITICAL: > + warn_report("%s", message); IIUC, CRITICAL & ERROR are both reporting errors, the only difference is that LEVEL_ERROR results in the process being terminated immediately. Anyway, I think this means G_LOG_LEVEL_CRITICAL should use erorr_report too. Only G_LOG_LEVEL_WARNING should use warn_report > + break; > + case G_LOG_LEVEL_ERROR: > + error_report("%s", message); > + break; > + } > +} Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|