From e30877f5113568275fb9aace92d819d92bd13393 Mon Sep 17 00:00:00 2001
From: Thierry Parmentelat <thierry.parmentelat@inria.fr>
Date: Wed, 11 Sep 2013 11:42:36 +0200
Subject: [PATCH] log_trace is a new logging function, useful for debugging
 mostly

---
 logger.py | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/logger.py b/logger.py
index 3d3400e..07b74b6 100644
--- a/logger.py
+++ b/logger.py
@@ -43,11 +43,21 @@ def log(msg,level=LOG_NODE):
         sys.stderr.flush()
 
 def log_exc(msg="",name=None):
-    """Log the traceback resulting from an exception."""
-    if name:
-        log("%s: EXCEPTION caught <%s> \n %s" %(name, msg, traceback.format_exc()))
-    else:
-        log("EXCEPTION caught <%s> \n %s" %(msg, traceback.format_exc()))
+    """Log traceback resulting from an exception."""
+    printout=""
+    if name: printout += "%s: "%name
+    printout += "EXCEPTION caught <%s> \n %s" %(msg, traceback.format_exc())
+    log(printout)
+
+def log_trace(msg="",name=None):
+    """Log current stack"""
+    printout=""
+    if name: printout += "%s: "%name
+    printout += "LOGTRACE\n"
+    for frame in traceback.format_stack():
+        printout += "..."+frame
+    log(printout)
+
 
 ########## snapshot data to a file
 # for some reason the various modules are still triggered even when the
-- 
2.47.0