'StandaloneHTMLBuilder' 对象没有属性 'warn'
'StandaloneHTMLBuilder' object has no attribute 'warn'
我为 sphinx 创建了一个小扩展,并希望在 directive/role 出现问题时显示警告。受 sphinx-contrib 组织一些已经存在的扩展的启发,我使用了以下内容:
try:
font, glyph = get_glyph(node["icon"])
except ValueError as e:
self.builder.warn(str(e))
raise nodes.SkipNode
当我实际遇到错误时,我收到以下错误消息:
AttributeError: 'StandaloneHTMLBuilder' object has no attribute 'warn'
在网络上查看,该属性似乎已被弃用。我现在应该如何显示日志消息?
env
斯芬克斯 >= 4.3.2
正如 @mzjn 所建议的那样。我需要使用 Sphinx 记录器:
将我的代码略微转换为:
from sphinx.util import logging
logger = logging.getLogger(__name__)
try:
font, glyph = get_glyph(node["icon"])
except ValueError as e:
logger.warning(str(e), location=node)
raise nodes.SkipNode
我为 sphinx 创建了一个小扩展,并希望在 directive/role 出现问题时显示警告。受 sphinx-contrib 组织一些已经存在的扩展的启发,我使用了以下内容:
try:
font, glyph = get_glyph(node["icon"])
except ValueError as e:
self.builder.warn(str(e))
raise nodes.SkipNode
当我实际遇到错误时,我收到以下错误消息:
AttributeError: 'StandaloneHTMLBuilder' object has no attribute 'warn'
在网络上查看,该属性似乎已被弃用。我现在应该如何显示日志消息?
env
斯芬克斯 >= 4.3.2
正如 @mzjn 所建议的那样。我需要使用 Sphinx 记录器:
将我的代码略微转换为:
from sphinx.util import logging
logger = logging.getLogger(__name__)
try:
font, glyph = get_glyph(node["icon"])
except ValueError as e:
logger.warning(str(e), location=node)
raise nodes.SkipNode