[Spice-devel] [spice-common v4 3/7] log: Use glib for logging

Frediano Ziglio fziglio at redhat.com
Tue Jan 26 05:08:43 PST 2016


> 
> On Tue, Jan 26, 2016 at 06:49:55AM -0500, Frediano Ziglio wrote:
> > > 
> > > On Thu, Jan 21, 2016 at 07:29:59AM -0500, Frediano Ziglio wrote:
> > > > > +            /* Make sure GLib default log handler will show the
> > > > > debug
> > > > > messages. Messing with
> > > > > +             * environment variables like this is ugly, but this
> > > > > only
> > > > > happens when the legacy
> > > > > +             * SPICE_DEBUG_LEVEL is used
> > > > > +             */
> > > > > +            debug_env = (char *)g_getenv("G_MESSAGES_DEBUG");
> > > > > +            if (debug_env == NULL) {
> > > > > +                g_setenv("G_MESSAGES_DEBUG", SPICE_LOG_DOMAIN,
> > > > > FALSE);
> > > > > +            } else {
> > > > > +                debug_env = g_strconcat(debug_env, ":",
> > > > > SPICE_LOG_DOMAIN,
> > > > > NULL);
> > > > > +                g_setenv("G_MESSAGES_DEBUG", SPICE_LOG_DOMAIN,
> > > > > FALSE);
> > > > > +                g_free(debug_env);
> > > > 
> > > > A library should never set environment variable.
> > > 
> > > This is the only way I could find to keep SPICE_DEBUG_LEVEL keep working
> > > as it used to even when g_debug() is used. This code is being careful to
> > > only make somehow safe changes to that variable.
> > > This environment variable is only set in a legacy case (ie one I'd like
> > > to see go away), and this legacy case goes with a runtime warning
> > > encouraging the user to switch to setting G_MESSAGES_DEBUG instead (in
> > > which case we do not muck with env variables ourselves).
> > > In my opinion, it's reasonable enough, especially without an alternative
> > > to achieve that.
> > > 
> > 
> > Sounds reasonable. I'd add a TODO in the comment to remove in a couple of
> > versions.
> > I don't know if is possible to make code fail compiling if the version
> > bump a bit.
> 
> I've added /* FIXME: To be removed after enough deprecation time */
> Some #if magic on SPICE_VERSION_* and #error could achieve compilation
> failing after a while, but I think a comment is a good enough tradeoff.
> 
> Christophe
> 

Acked-by: Frediano Ziglio <fziglio at redhat.com>

Frediano


More information about the Spice-devel mailing list