X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fgtk_toolbox.py;h=888906927180fb962a1285a77c20df6f57899f8a;hb=a137e9ca9ed2e829e2a3b22ba22f4119ee0e26c2;hp=db6c5442d495c54c1126a0abe713c50071a221cd;hpb=68d1653679bdce47f008d9167a263dbb2259e91d;p=theonering diff --git a/src/gtk_toolbox.py b/src/gtk_toolbox.py index db6c544..8889069 100644 --- a/src/gtk_toolbox.py +++ b/src/gtk_toolbox.py @@ -253,3 +253,23 @@ def log_exception(logger): return wrapper return log_exception_decorator + + +def trace(logger): + + def trace_decorator(func): + + @functools.wraps(func) + def wrapper(*args, **kwds): + try: + logger.info("> %s" % (func.__name__, )) + return func(*args, **kwds) + except Exception: + logger.exception(func.__name__) + raise + finally: + logger.info("< %s" % (func.__name__, )) + + return wrapper + + return trace_decorator