[gnome-builder] Ide: add python logging helpers



commit 8eba09f8e3ccc44d38ec507425e32dada51831b1
Author: Christian Hergert <chergert redhat com>
Date:   Fri Jun 9 01:36:06 2017 -0700

    Ide: add python logging helpers
    
    It's a bit annoying to go through variant creation to log, but it's
    easier than some of the other alternatives. This is just a simple
    helper that lets you do something like:
    
      Ide.warning('foo', 'bar')
    
    It grabs the module name to use as the domain to help track things
    down a bit.

 libide/Ide.py |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)
---
diff --git a/libide/Ide.py b/libide/Ide.py
index df6faa2..ed1e9aa 100644
--- a/libide/Ide.py
+++ b/libide/Ide.py
@@ -163,3 +163,39 @@ def NotSupportedError():
 Ide.NotSupportedError = NotSupportedError
 Ide.DBusService = DBusService
 Ide.DBusMethod = DBusMethod
+
+#
+# GLib logging wrappers
+#
+
+def _modname():
+    import inspect
+    frm = inspect.stack()[2]
+    mod = inspect.getmodule(frm[0])
+    return mod.__name__
+
+def _log(domain, level, *messages):
+    message = ' '.join(messages)
+    v = GLib.Variant('a{sv}', {'MESSAGE': GLib.Variant.new_string(message)})
+    GLib.log_variant(domain, level, v)
+
+def critical(*messages):
+    _log(_modname(), GLib.LogLevelFlags.LEVEL_CRITICAL, *messages)
+
+def warning(*messages):
+    _log(_modname(), GLib.LogLevelFlags.LEVEL_WARNING, *messages)
+
+def debug(*messages):
+    _log(_modname(), GLib.LogLevelFlags.LEVEL_DEBUG, *messages)
+
+def message(*messages):
+    _log(_modname(), GLib.LogLevelFlags.LEVEL_MESSAGE, *messages)
+
+def info(*messages):
+    _log(_modname(), GLib.LogLevelFlags.LEVEL_INFO, *messages)
+
+Ide.critical = critical
+Ide.debug = debug
+Ide.info = info
+Ide.message = message
+Ide.warning = warning


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]