Suds поддерживает внутреннюю регистрацию, как вы делали.
Я устанавливаю информационные уровни, как вы:
logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.transport').setLevel(logging.DEBUG) # MUST BE THIS?
logging.getLogger('suds.xsd.schema').setLevel(logging.DEBUG)
logging.getLogger('suds.wsdl').setLevel(logging.DEBUG)
logging.getLogger('suds.resolver').setLevel(logging.DEBUG)
logging.getLogger('suds.xsd.query').setLevel(logging.DEBUG)
logging.getLogger('suds.xsd.basic').setLevel(logging.DEBUG)
logging.getLogger('suds.binding.marshaller').setLevel(logging.DEBUG)
И иногда мне также нужно переопределить уровень ведения журнала корневого регистратора, в зависимости от среды, используемой в вызовах Suds (Django, Plone). Если корневой регистратор имеет более высокий порог регистрации, сообщения журнала могут никогда не появиться (не уверен, как должны идти иерархии регистратора). Ниже приведен пример переопределения:
def enableDebugLog(self):
""" Enable context.plone_log() output from Python scripts """
import sys, logging
logger = logging.getLogger()
logger.root.setLevel(logging.DEBUG)
logger.root.addHandler(logging.StreamHandler(sys.stdout))