没有找到记录器“rdflib.term”的处理程序

时间:2013-06-30 18:43:56

标签: rdflib

我在我的python模块中使用rdflib-4.0.1和rdfextras-0.4。

我在将数据加载到rdfstore时收到以下消息:

No handlers could be found for logger "rdflib.term"

我错过了什么?

2 个答案:

答案 0 :(得分:4)

“无处理程序”警告来自Python的标准logging模块。记录器需要一个处理程序来确定它应该对已经记录的消息做什么 - 例如,应该将文本发送到磁盘还是控制台。见Python 2 Logging HOWTO on Handlers。记录器也有名称,以便可以以不同的方式控制记录消息,以用于程序的不同部分。 RDFLib在其term.py中写入名为"rdflib.term"的记录器。

在使用RDFLib时,我使用logging.basicConfig()设置了一些合理的默认值:

import logging
import rdflib

logging.basicConfig()

# now load your graph
g = rdflib.Graph()
g.load("life_the_universe_everything.rdf")

这次加载图表时,您应该在控制台中看到rdflib的日志消息,而不是“无处理程序”警告。

答案 1 :(得分:0)

关于rdflib的原因是it logs when you import it,因为它确实存在

if _interactive_mode:
    logger.info("RDFLib Version: %s" % __version__)
else:
    logger.debug("RDFLib Version: %s" % __version__)

在其__init__.py中。因此,尽管许多事情会记录日志,但rdflib却具有在很早的情况下以及在异常情况下记录日志的区别。即使有一个处理程序(即使它是默认处理程序)也很好,但是在许多情况下没有,所以您得到了这个小日志。

以免引起诱惑,请read this one first