On Aug 29, 2018, at 3:48 PM, Jeff Grimmett <grimmto...@gmail.com 
<mailto:grimmto...@gmail.com>> wrote:

> I'm working on a Flask project using the flask_twisted package from PyPI and 
> have encountered a mystery.  I don't *have* to solve it to move on, but darn 
> it, I can't let it go :)
> 
> https://pypi.org/project/Flask-Twisted/ 
> <https://pypi.org/project/Flask-Twisted/>
> https://github.com/cravler/flask-twisted/ 
> <https://github.com/cravler/flask-twisted/>
> 
> So here's the breakdown: when use the standard logging module to output to a 
> logfile + stdout, everything is fine.  I do see some logging output from 
> Twisted as well (the web server part) but for the most part life is groovy.
> 
> I'm going to be integrating in a wxPython windows app to this (previously 
> it's been a shell app) and step 1 was to make my own stdout handler that 
> eventually would pipe all that stuff to a window in the wx app.  The first 
> step of THAT (step 1.a) was to replace all the logging stuff with print() 
> placeholders.

Why would you do this rather than simply handle logging events? Both twisted 
and the stdlib have mechanisms for adding observers that will give you access 
to more structured information - particularly useful if you are trying to 
display something in a GUI.

> At that point, things got confusing, as now ALL of my print()s are being 
> handled by Twisted's logging handler.

This (sort of) makes sense...

> I brought flask-twisted in local to my code so I could monkey around with it. 
> First thing I noticed was that it was using twisted.python.log. I messed 
> around with that - commented it out, and now I get no stdout output at all.  
> Set the parameter setStdout to False, same thing.

So, this is the old, legacy API, and what you want to use is this: 
https://twistedmatrix.com/documents/current/api/twisted.logger.LogBeginner.beginLoggingTo.html
 
<https://twistedmatrix.com/documents/current/api/twisted.logger.LogBeginner.beginLoggingTo.html>

But it doesn’t make sense to me that you would see no output at all, or that 
setStdout=False would swallow your print statements.

> The adapter code uses twisted.internet.reactor,  threads, 
> twisted.web.server.Site, twisted.web.wsgi.WSGIResource, and 
> twisted.web.resource.Resource, any one which might be responsible. I spent 
> yesterday evening digging around but haven't found anything yet.

The only thing starting logging here appears to be flask-twisted; we only start 
logging in twist & twistd, within twisted itself.

> Any guidance / ideas?  

I'm very curious what is going on here, and whether it's a logging system bug.  
Could you whittle this down to a minimal reproducer?

-glyph
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to