首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gevent应用程序的日志记录

Gevent应用程序的日志记录
EN

Stack Overflow用户
提问于 2014-10-13 21:04:10
回答 1查看 4.7K关注 0票数 2

我试图使用标准Python日志模块与gevent一起使用。我有猴子补丁的线程,我希望我的应用程序可以登录:

代码语言:javascript
运行
复制
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应用程序呢?

EN

Stack Overflow用户

回答已采纳

发布于 2014-10-13 22:44:35

您没有正确地配置它。您需要在记录器上而不是在处理程序上设置DEBUG级别,否则记录器的默认级别(WARNING)将导致您的调试消息被删除。试着做一个

代码语言:javascript
运行
复制
logger.setLevel(logging.DEBUG)

而且它应该能工作。

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26348840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档