Hi ----- Original Message ----- > Hi, > > So, I've been playing a bit with this domains for logging in top of > Christophe's patches [0] to use glib log system and this series is an > approach for that, I would love some feedback of this WIP. > > [0] > http://lists.freedesktop.org/archives/spice-devel/2015-December/024507.html > > So, instead of working with domains for glib, I thought about having one > domain for all, which is Spice, and handle the interesting logs by > subdomains. > > The subdomains can be filtered in/out also by level under SPICE_DEBUG > environment var such as: > > # Give all output from all subdomains > export SPICE_DEBUG=*:* > export SPICE_DEBUG=1 > > # Give all output from audio, warning level for everything else > export SPICE_DEBUG=*:warning,audio=* > > # Give all from usb and usbredir and nothing else > export SPICE_DEBUG=usb=*,usbredir=*,*:none This really look overly complex and intrusive to me. This is something different from glib or qemu tracing, so it makes me feel quite dizzy... But I should review your patches, will try to do that soon... > > As for G_MESSAGES_DEBUG concern, if SPICE_DEBUG is set, common/log.c > will set always set Spice domain so the only env var to Spice is the > SPICE_DEBUG one. > > Every channel got is own subdomain but other files tend to be grouped, > such as the case of spice-audio, spice-gstaudio and spice-pulse which > are under "audio" subdomain. Same for "usb" domain which has 4 files > usb-(device-manager, device-widget), win-usb-(dev, driver-install). > > Default subdomain is log. > > Seems that in other projects, the domain initialization is on its _init > function (like, spice_init()). We could have that, If it makes sense > otherwise what I did was initializing on the very first spice_log() and > memory of each domain should be freed by _finalize() of its object. > > This is probably leaking right now with remote-viewer but I don't want > to dive into fixing things without the general idea being accepted. In > the case of this looks good, I believe some set of simple tests would > be nice to have as well. > > PS: This was only tested with spice-gtk, mostly likely will break on > spice-server due the change on SPICE_LOG_DOMAIN type > > PS2: There are some leftovers like printf, fprintf, VNC_DEBUG, ... that > I think we should remove as well. > > Cheers, > toso > > > Victor Toso (4): > log: simplify log defines with SPICE_LOG > log: include message log level for parity with glib > log: Always use Spice domain for glib > log: allow filtering debug using domains > > common/Makefile.am | 1 + > common/log.c | 245 > ++++++++++++++++++++++++++++++++++++++++++++++++++--- > common/log.h | 85 +++++++++++++------ > 3 files changed, 295 insertions(+), 36 deletions(-) > > Victor Toso (9): > log: use glib debug on testing tools > log: use spice_debug instead of SPICE_DEBUG > log: remove unused SPICE_DEBUG > log: use spice_debug instead of g_debug > log: use spice_warning instead of g_warning > log: use spice_critical instead of g_critical > log: use spice_error instead of g_error > log: remove __FUNCTION__ from debug > log: use domains for logging > > src/bio-gio.c | 7 +- > src/channel-base.c | 13 ++-- > src/channel-cursor.c | 19 ++++-- > src/channel-display-mjpeg.c | 4 +- > src/channel-display.c | 65 +++++++++++-------- > src/channel-inputs.c | 11 +++- > src/channel-main.c | 89 ++++++++++++++------------ > src/channel-playback.c | 27 +++++--- > src/channel-port.c | 9 +++ > src/channel-record.c | 17 +++-- > src/channel-smartcard.c | 13 +++- > src/channel-usbredir.c | 15 ++++- > src/channel-webdav.c | 22 +++++-- > src/continuation.c | 3 +- > src/coroutine_gthread.c | 4 +- > src/coroutine_ucontext.c | 6 +- > src/coroutine_winfibers.c | 6 +- > src/decode-glz.c | 9 +-- > src/decode-jpeg.c | 6 +- > src/decode-zlib.c | 6 +- > src/desktop-integration.c | 10 +-- > src/giopipe.c | 10 +-- > src/map-file | 4 ++ > src/smartcard-manager.c | 27 +++++--- > src/spice-audio.c | 11 +++- > src/spice-channel-priv.h | 2 +- > src/spice-channel.c | 146 > ++++++++++++++++++++++-------------------- > src/spice-grabsequence.c | 3 +- > src/spice-gstaudio.c | 52 ++++++++------- > src/spice-gtk-session.c | 57 ++++++++++------- > src/spice-option.c | 4 +- > src/spice-pulse.c | 148 > +++++++++++++++++++++++-------------------- > src/spice-session.c | 67 +++++++++++--------- > src/spice-uri.c | 1 + > src/spice-util.c | 8 ++- > src/spice-util.h | 6 -- > src/spice-widget.c | 94 ++++++++++++++------------- > src/spicy-connect.c | 2 +- > src/spicy-screenshot.c | 2 +- > src/spicy-stats.c | 2 +- > src/spicy.c | 34 +++++----- > src/usb-device-manager.c | 71 ++++++++++++--------- > src/usb-device-widget.c | 16 ++++- > src/usbutil.c | 4 +- > src/vmcstream.c | 20 ++++-- > src/vncdisplaykeymap.c | 30 +++++---- > src/win-usb-dev.c | 25 +++++--- > src/win-usb-driver-install.c | 53 +++++++++------- > 48 files changed, 745 insertions(+), 515 deletions(-) > > -- > 2.5.0 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel > _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel