ログ API¶
- sphinx.util.logging.getLogger(name)[source]¶
sphinx.util.logging.SphinxLoggerAdapter
によってラップされたロガーを取得します。Sphinx ロガーは常に
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)[source]¶
type
とsubtype
キーワードを許可する LoggerAdapter。- error(msg, *args, **kwargs)¶
- critical(msg, *args, **kwargs)¶
- warning(msg, *args, **kwargs)[source]¶
指定されたレベルで、このロガーにメッセージを記録します。基本的に、引数は Python の logging モジュールと同じです。
さらに、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"
で色付けされ、クリティカルレベルのログは色付けされず、警告レベルのログは"red"
で色付けされます。
- info(msg, *args, **kwargs)¶
- debug(msg, *args, **kwargs)¶
指定されたレベルで、このロガーにメッセージを記録します。基本的に、引数は Python の logging モジュールと同じです。
さらに、Sphinx ロガーは次のキーワード引数をサポートしています。
- nonl
True の場合、ロガーはログメッセージの末尾で改行しません。デフォルトは
False
です。- location
メッセージが出力された場所。詳細については、
SphinxLoggerAdapter.warning()
を参照してください。- color
ログの色。デフォルトでは、info と verbose レベルのログは色付けされず、debug レベルのログは
"darkgray"
で色付けされます。
- sphinx.util.logging.pending_logging()[source]¶
すべてのログを一時的に延期するためのコンテキストマネージャー。
例えば
>>> 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()[source]¶
警告ログを一時的に延期するためのコンテキストマネージャー。
pending_logging()
と同様です。