我在我的python模块中使用rdflib-4.0.1和rdfextras-0.4。
在将数据加载到rdfstore时,我收到以下消息:
No handlers could be found for logger "rdflib.term"
我错过了什么?
“无处理程序”警告来自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的日志消息,而不是“无处理程序”警告。
关于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具有非常早期和非常特殊情况下的记录区别。如果有一个处理程序,这很好,即使它是默认处理程序,但在许多情况下没有,所以你得到这个小logspam。
为免你被诱惑打开一个虫子,请read this one first。