ログAPI

sphinx.util.logging.getLogger(name)[ソース]

レコーダを sphinx.util.logging.SphinxLoggerAdapter それがそうです。

ライオンの顔画像レコーダはいつも使っています sphinx.* 名前空間はルートレコーダの設定とは独立している.サードパーティ拡張や導入されたアプリケーションがレコーダ設定をリセットしても、ログ記録の一貫性を確保することができる。

例示的な用法:

>>> from sphinx.util import logging
>>> logger = logging.getLogger(__name__)
>>> logger.info('Hello, this is an extension!')
Hello, this is an extension!
class sphinx.util.logging.SphinxLoggerAdapter(logging.LoggerAdapter)[ソース]

LoggerAdapter許可 type そして subtype キーワードです。

error(msg, *args, **kwargs)
critical(msg, *args, **kwargs)
warning(msg, *args, **kwargs)

このレコーダには、指定されたレベルのメッセージが記録される。基本的に、パラメータはpythonのログ記録モジュールと同じです。

さらに、Sphinxレコーダは、以下のキーワードパラメータをサポートする。

type, *subtype*

警告ログの種別。これは以下のように警告を抑制するために使用される suppress_warnings セット。

location

発生した場所を警告する。これは、各ログに経路および行番号を含むために使用される。Docname、docname、行番号のタプルおよびノード:

logger = sphinx.util.logging.getLogger(__name__)
logger.warning('Warning happened!', location='index')
logger.warning('Warning happened!', location=('chapter1/index', 10))
logger.warning('Warning happened!', location=some_node)
color

原木の色。デフォルトの場合、エラーレベルログの色は "darkred" 危険レベル1は着色されておらず,警告レベル1は着色されていない. "red" それがそうです。

log(level, msg, *args, **kwargs)[ソース]
info(msg, *args, **kwargs)
verbose(msg, *args, **kwargs)[ソース]
debug(msg, *args, **kwargs)

このレコーダには、指定されたレベルを有するメッセージが記録される。基本的に、パラメータはpythonのログ記録モジュールと同じです。

さらに、Sphinxレコーダは、以下のキーワードパラメータをサポートする。

nonl

Trueである場合、レコーダは、ログメッセージの末尾にラインを折り畳まない。黙認する. False それがそうです。

location

情報が発信されている場所です詳細については、ご参照ください SphinxLoggerAdapter.warning() それがそうです。

color

原木の色。デフォルトでは,情報と詳細レベルログは着色されず,デバッグレベルログは着色されていない. "darkgray" それがそうです。

sphinx.util.logging.pending_logging()[ソース]

ContextManagerはすべての一時ログの記録を一時停止する.

例えば:

>>> with pending_logging():
>>>     logger.warning('Warning message!')  # not flushed yet
>>>     some_long_process()
>>>
Warning message!  # the warning is flushed here
sphinx.util.logging.pending_warnings()[ソース]

ContextManagerはログログ警告を一時的に保留する.

似たような pending_logging() それがそうです。

sphinx.util.logging.prefixed_warnings()[ソース]

一時的にすべてのレコードにプレフィックスを付加する.

例えば:

>>> with prefixed_warnings("prefix:"):
>>>     logger.warning('Warning message!')  # => prefix: Warning message!

バージョン 2.0 で追加.