【发布时间】:2014-08-07 05:42:43
【问题描述】:
以下代码确实在“ipython qtconsole”中打印“我希望它打印”,但它不会在普通 IPython 中打印。
import logging
import logging.handlers
log = logging.getLogger()
f = logging.Formatter("%(asctime)s - %(module)s. %(funcName)s - %(levelname)s - %(message)s")
fh = logging.handlers.TimedRotatingFileHandler('log.txt', 'W6')
fh.setFormatter(f)
log.addHandler(fh)
log.setLevel(logging.INFO)
log.info('I want this to print')
在“IPython qtconsole”中,我遇到了不同的问题,我试图解释here(效果不太好,无需阅读!)。
你能告诉我为什么吗?
编辑:我使用 Python 2.7
EDIT2:也许我真的只需要添加 logging.StreamHandler。
【问题讨论】:
-
什么版本的python?
-
您正在设置 file 处理程序,因此输出将发送到文件
log.txt。我不知道你为什么认为控制台应该在标准输出上输出... -
这对我有用:我得到像“2014-06-17 11:39:29,422 -
。 - INFO - 我想要这个打印" 在 log.txt 中。 -
@Bakuriu 因为我设置了 log.setLevel(logging.INFO)。我在想,这配置了控制台打印行为。在 qtconsole 中它也会打印。
-
@Evert 您使用的是哪个控制台?
标签: python logging ipython qtconsole