- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
通过以下两个最小示例应该可以重现该问题:
使用 app.run()
的最小示例
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello'
app.run()
<小时/>
使用 gevent.pywsgi.WSGIServer
的最小示例
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello'
from gevent import pywsgi
from geventwebsocket.handler import WebSocketHandler
server = pywsgi.WSGIServer(('127.0.0.1', 5000), app, handler_class=WebSocketHandler)
server.serve_forever()
<小时/>
前 5 行是相同的,因此两个示例仅在启动服务器的方式上有所不同。两台服务器都工作,我在浏览器中收到“Hello”。第一个示例打印:
* Serving Flask app "1" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [20/Jun/2019 23:43:15] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [20/Jun/2019 23:43:19] "GET / HTTP/1.1" 200 -
因此控制台输出显示有关服务器处理的每个请求的一些信息。
但是,对于第二个示例,我在控制台中不再获得任何日志输出。如何为 gevent.pywsgi.WSGIServer
和 WebSocketHandler
启用日志记录?
背景(我认为这与问题无关)
我正在运行一个使用 flask_sockets
的 Flask 应用。因为
Werkzeug development server cannot provide the WSGI environ with a websocket interface
我无法通过 app.run()
使用服务器,而是使用 gevent.pywsgi.WSGIServer
。我上面示例的代码直接取自模块的示例 https://github.com/heroku-python/flask-sockets无需任何修改。
最佳答案
日志记录与 gevent.pywsgi.WSGIServer
的工作方式不同。它使用 python logging并且更加复杂和灵活。
这是一个例子:
from gevent import pywsgi
from geventwebsocket.handler import WebSocketHandler
import logging
logging.basicConfig(level=logging.INFO)
server = pywsgi.WSGIServer(('127.0.0.1', 5000), app, handler_class=WebSocketHandler)
server.serve_forever()
现在无论您想要输出,您都可以执行以下操作:
logging.info("You can see me now...")
如果您想查看 WSGIServer 的启动信息,请将日志级别设置为 DEBUG,您可以看到大量输出。
关于python - 如何使用 `gevent.pywsgi.WSGIServer` 和 `WebSocketHandler` 启用 Flask 应用程序的日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693878/
以下代码(取自此处:https://bitbucket.org/denis/gevent/src/6c710e8ae58b/examples/wsgiserver_ssl.py)实现了一个极快的 gr
我正在使用带有 SSL 的 gevent.pywsgi 服务器,当使用 IE 或 Chrome 时,流量在内容大小的 10 倍到 100 倍之间,传输速度非常非常慢。Firefox 可以接受这一点。如
我正在尝试使用 gevent.pywsgi.WSGIServer 来包装 Flask 应用程序。一切正常,但是,当我尝试为 ssl 添加 key 和证书时,它甚至无法再接受任何客户端。 这是一个抛出错
通过以下两个最小示例应该可以重现该问题: 使用 app.run() 的最小示例 from flask import Flask app = Flask(__name__) @app.route('/'
我是一名优秀的程序员,十分优秀!