过去一小时我一直坚持这一点。我已经插入登录到我的tkinter gui,但无法让它工作。然后我开始删除部分,直到我在非常python文档中的裸骨示例,它将无法正常工作。在这一点上,我没有别的东西可以删除。
代码如下:
import logging
LOG_FILENAME = r'logging_example.out'
logging.basicConfig(filename=LOG_FILENAME ,level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')
f = open(LOG_FILENAME, 'rt')
try:
body = f.read()
finally:
f.close()
print('FILE:')
print (body)
警告打印到stdout,但不生成文件。 我在Windows 7上运行python 3.4,x64。它是一个anacondas发行版,所以这是在Spyder内的Ipython中运行。
我想这应该有效
答案 0 :(得分:11)
正如JonasByström所说,这在Ipython之外有效。似乎Ipython在我有机会之前配置了一个日志记录处理程序。此外,如果处理程序已存在,basicConfig
将不执行任何操作。因此,为了让它在Ipython中工作,必须做以下三件事之一:1)添加新的处理程序,或者2)重新加载日志记录,或者3)删除现有的处理程序。我做了2号。
import logging
from imp import reload
reload(logging)
LOG_FILENAME = r'logging_example.out'
logging.basicConfig(filename=LOG_FILENAME ,level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')
f = open(LOG_FILENAME, 'rt')
try:
body = f.read()
finally:
f.close()
print('FILE:')
print (body)
有关更多信息,请访问theese: Logging in ipython; More on the same