> Try this: > > > from twisted.logger import globalLogBeginner, textFileLogObserver > from twisted.internet.defer import Deferred > import sys > > globalLogBeginner.beginLoggingTo([textFileLogObserver(sys.stdout)]) > > def raiseErr(what): > raise Exception(what) > > d = Deferred() > d.addCallback(raiseErr) > d.callback("asdf") FWIW, I had some trouble (nothing printed) with Python 3.6 using the example above. Python 2 was fine, and PYTHONUNBUFFERED (or flush) didn't help. I'll follow up should I figure out what's going on. I had success on Python3 with the STDLibLogObserver...which doesn't make any immediate sense other than something flushing related. > > > > https://twistedmatrix.com/trac/ticket/9333 > > The associated PR needs a careful review to ensure its handling of unicode is > correct. Any takers? Agree, given the recent tickets/regressions related to Unicode I'm going to go back through my PR. If it disappears from review...I found something. > > > > # how to show the traceback without manually adding an errback at the end? > > # adding at the *end* of a deferred is hard as we don't know when the > > client stops adding callbacks. I've also found this advice from Jean-Paul very helpful: https://twistedmatrix.com/pipermail/twisted-python/2018-March/031856.html
You'll get more detailed info: CRITICAL:twisted:Unhandled error in Deferred: CRITICAL:twisted:(debug: C: Deferred was created: C: File "foo.py", line 15, in <module> C: d = defer.Deferred() I: First Invoker was: I: File "foo.py", line 17, in <module> I: d.callback("asdf") ) Traceback (most recent call last): File "/home/jlitzing/dev/twisted/twisted-fork/src/twisted/internet/defer.py", line 653, in _runCallbacks current.result = callback(current.result, *args, **kw) File "foo.py", line 13, in raiseErr raise Exception(what) Exception: asdf Cheers, -Jason _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python