【问题标题】:'StandaloneHTMLBuilder' object has no attribute 'warn'“StandaloneHTMLBuilder”对象没有“警告”属性
【发布时间】:2022-01-25 11:09:12
【问题描述】:

我为 sphinx 创建了一个小扩展,并希望在指令/角色出现问题时显示警告。受到 sphinx-contrib 组织的一些现有扩展的启发,我使用了以下内容:

try:
    font, glyph = get_glyph(node["icon"])
except ValueError as e:
    self.builder.warn(str(e))
    raise nodes.SkipNode

当我实际遇到错误时,我收到以下错误消息:

AttributeError: 'StandaloneHTMLBuilder' 对象没有属性 'warn'

在网上看,好像这个属性已经被弃用了。我现在应该如何显示日志消息?

环境
狮身人面像 >= 4.3.2

【问题讨论】:

标签: python logging python-sphinx


【解决方案1】:

正如@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

【讨论】:

    猜你喜欢
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多