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

问题描述 投票:3回答:2

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

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

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

我错过了什么?

rdflib
2个回答
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的日志消息,而不是“无处理程序”警告。


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具有非常早期和非常特殊情况下的记录区别。如果有一个处理程序,这很好,即使它是默认处理程序,但在许多情况下没有,所以你得到这个小logspam。

为免你被诱惑打开一个虫子,请read this one first

© www.soinside.com 2019 - 2024. All rights reserved.