From 877321ec74f9fe1a583257de8cb9c8430f15cb45 Mon Sep 17 00:00:00 2001 From: Martin Kosek Date: Tue, 20 Jan 2015 23:13:23 +0100 Subject: [PATCH] Print PublicError traceback when in debug mode The framework only shows traceback for the internal/unknown errors, recognized PublicErrors are simply passed back to the FreeIPA clients. However, sometimes it would help to see a traceback of the PublicError to for example see exactly which line returns it. https://fedorahosted.org/freeipa/ticket/4847 Reviewed-By: Martin Basti --- ipaserver/rpcserver.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py index 18de23d3a..d6bc955b9 100644 --- a/ipaserver/rpcserver.py +++ b/ipaserver/rpcserver.py @@ -29,6 +29,7 @@ import os import datetime import urlparse import json +import traceback import ldap.controls from pyasn1.type import univ, namedtype @@ -347,6 +348,8 @@ class WSGIExecutioner(Executioner): else: result = self.Command[name](*args, **options) except PublicError, e: + if self.api.env.debug: + self.debug('WSGI wsgi_execute PublicError: %s', traceback.format_exc()) error = e except StandardError, e: self.exception(