【发布时间】:2016-02-13 06:11:53
【问题描述】:
所以我在玩他们昨天发布的 Google 的 Tensorflow 库,遇到了一个烦人的错误,一直困扰着我。
我所做的是像往常一样设置 python 日志记录功能,结果是,如果我导入 tensorflow 库,控制台中的所有消息都开始加倍。有趣的是,如果您只使用 logging.warn/info/..() 函数,这不会发生。
不将消息加倍的代码示例:
import tensorflow as tf
import logging
logging.warn('test')
确实将所有消息加倍的代码示例:
import tensorflow as tf
import logging
logger = logging.getLogger('TEST')
ch = logging.StreamHandler()
logger.addHandler(ch)
logger.warn('test')
现在,我是一个简单的人。我喜欢logging 的功能,所以我使用它。使用logger 对象和添加StreamHandler 的设置是我在查看其他人是如何做到这一点的时候发现的,但它看起来符合这个东西的用途。但是,我对日志库没有深入的了解,因为它总是能正常工作。
因此,任何解释为什么会发生消息翻倍的帮助都会非常有帮助。
我正在使用带有 Python 2.7.6 的 Ubuntu 14.04.3 LTS,但在我尝试的所有 Python 2.7 版本中都会出现错误。
【问题讨论】:
-
我很难在 ubuntu 14.04 上用 python 2.7.6 复制这个:python testlog.py WARNING:root:test 你能提供更多关于你如何安装 tf 的细节吗?
-
啊!您的示例代码中有一个错字。最后一行应该是 logger.warn('test') 而不是 logging.warn。现在我已经复制了它。答案更清楚了 - 等等。
标签: python logging tensorflow