我试图使用标准Python日志模块与gevent一起使用。我有猴子补丁的线程,我希望我的应用程序可以登录:
import gevent.monkey
gevent.monkey.patch_all()
import logging
logger = logging.getLogger()
fh = logging.FileHandler('E:\\spam.log')
fh.setLevel(logging.DEBUG)
logger.addHandler(fh)
def foo():
logger.debug('Running in foo')
gevent.sleep(0)
logger.debug('Explicit context switch to foo again')
def bar():
logger.debug('Explicit context to bar')
gevent.sleep(0)
logger.debug('Implicit context switch back to bar')
gevent.joinall([
gevent.spawn(foo),
gevent.spawn(bar),
])
不幸的是,E:\spam.log是空的,我看不到控制台的输出。看起来,要么我没有正确配置日志记录,要么gevent根本不支持它(我不相信,因为gevent文档说它是有吗?)。那么,我如何登录gevent应用程序呢?
发布于 2014-10-13 22:44:35
您没有正确地配置它。您需要在记录器上而不是在处理程序上设置DEBUG
级别,否则记录器的默认级别(WARNING
)将导致您的调试消息被删除。试着做一个
logger.setLevel(logging.DEBUG)
而且它应该能工作。
https://stackoverflow.com/questions/26348840
复制相似问题