[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