2
我通过Python logging
模块将事件记录到控制台。 我也想通过socket-io(flask)将这些日志消息发送给客户端。 以下方法仅部分成功。将控制台日志输出重定向到flask-socketio
from flask.ext.socketio import send
fmt_str = '%(asctime)s - %(message)s'
formatter = logging.Formatter(fmt_str)
logging.basicConfig(level=logging.INFO, format=fmt_str)
logger = logging.getLogger("")
class SocketIOHandler(logging.Handler):
def emit(self, record):
send(record.getMessage())
sio = SocketIOHandler()
logger.addHandler(sio)
我得到的结果在浏览器中,但仍获得
RuntimeError: working outside of request context
的控制台上的每个发送调用。我认为发送呼叫的上下文不可用......处理这个问题的有效方法是什么?谢谢。
感谢您的回复。我之前也尝试过。它不适合我... http://pastebin.com/raw.php?i=D3x1usXe – wenzul 2014-11-11 11:50:30