[Xfce4-commits] <postler:master> Colored log domains and less visual noise

Christian Dywan noreply at xfce.org
Sun Mar 27 17:34:05 CEST 2011


Updating branch refs/heads/master
         to 4b9169f829b834a492bc6a03d92f75f287930af1 (commit)
       from 5c71fda25fccf80dad49db9c304075dfb16ece25 (commit)

commit 4b9169f829b834a492bc6a03d92f75f287930af1
Author: Christian Dywan <christian at twotoasts.de>
Date:   Sun Mar 27 15:50:36 2011 +0200

    Colored log domains and less visual noise

 postler/postler-reader.vala |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/postler/postler-reader.vala b/postler/postler-reader.vala
index b593ece..09ca34a 100644
--- a/postler/postler-reader.vala
+++ b/postler/postler-reader.vala
@@ -55,13 +55,47 @@ public class Postler.Reader {
             return 0;
         }
 
+        /* Colored log domains according to level and less visual noise */
+        LogFunc handler = (domain, level, message) => {
+            int color;
+            switch (level) {
+            case LogLevelFlags.LEVEL_DEBUG:
+                color = 2; /* green */
+                break;
+            case LogLevelFlags.LEVEL_MESSAGE:
+            case LogLevelFlags.LEVEL_INFO:
+                color = 4; /* blue */
+                break;
+            case LogLevelFlags.LEVEL_WARNING:
+                color = 3; /* yellow */
+                break;
+            case LogLevelFlags.LEVEL_CRITICAL:
+            case LogLevelFlags.LEVEL_ERROR:
+                color = 1; /* red */
+                break;
+            default:
+                color = 7; /* white */
+                break;
+            }
+            stdout.printf ("\x001b[%dm [%s]\x001b[0m %s\n",
+                color + 30 + 60,
+                domain ?? Environment.get_prgname ().to_string (),
+                message);
+        };
+        string[] domains = { null, "GLib", "GLib-GObject", "GLib-GIO",
+                             "Gdk", "Gdk-Pixbuf", "Pango", "Gtk" };
+        foreach (var domain in domains)
+            Log.set_handler (domain, LogLevelFlags.LEVEL_MASK
+                                   | LogLevelFlags.FLAG_FATAL
+                                   | LogLevelFlags.FLAG_RECURSION, handler);
+
         /* --verbose or POSTLER_DEBUG=1 enables debug messages */
         unowned string? debug = Environment.get_variable ("POSTLER_DEBUG");
         if (verbose || debug == "1") {
             Environment.set_variable ("POSTLER_DEBUG", "1", false);
         }
         else {
-            LogFunc handler = (domain, level, message) => { };
+            handler = (domain, level, message) => { };
             Log.set_handler (null, LogLevelFlags.LEVEL_DEBUG, handler);
         }
 



More information about the Xfce4-commits mailing list