Logging API¶
- sphinx.util.logging.getLogger(name)[Quelle]¶
Holt den Logger, der von
sphinx.util.logging.SphinxLoggerAdapterumschlossen wird.Der Sphinx-Logger verwendet immer den Namensraum
sphinx.*, um unabhängig von den Einstellungen des Root-Loggers zu sein. Dies stellt sicher, dass die Protokollierung konsistent ist, auch wenn eine Drittanbietererweiterung oder eine importierte Anwendung die Logger-Einstellungen zurücksetzt.Beispielverwendung
>>> 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)[Quelle]¶
LoggerAdapter, der die Schlüsselwörter
typeundsubtypezulässt.- error(msg, *args, **kwargs)¶
- critical(msg, *args, **kwargs)¶
- warning(msg, *args, **kwargs)[Quelle]¶
Protokolliert eine Nachricht mit dem angegebenen Level in diesem Logger. Grundsätzlich sind die Argumente wie im Python-Logging-Modul.
Darüber hinaus unterstützt der Sphinx-Logger folgende Schlüsselwortargumente:
- type, *subtype*
Kategorien von Warnprotokollen. Sie werden verwendet, um Warnungen gemäß der Einstellung
suppress_warningszu unterdrücken.- location
Wo die Warnung aufgetreten ist. Sie wird verwendet, um den Pfad und die Zeilennummer in jedem Protokoll einzuschließen. Sie erlaubt docname, ein Tupel aus docname und Zeilennummer sowie Knoten.
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
Die Farbe der Protokolle. Standardmäßig werden Fehlermeldungen in
"darkred"gefärbt, kritische Meldungen nicht gefärbt und Warnmeldungen in"red".
- info(msg, *args, **kwargs)¶
- debug(msg, *args, **kwargs)¶
Protokolliert eine Nachricht mit dem angegebenen Level in diesem Logger. Grundsätzlich sind die Argumente wie im Python-Logging-Modul.
Darüber hinaus unterstützt der Sphinx-Logger folgende Schlüsselwortargumente:
- nonl
Wenn wahr, faltet der Logger Zeilen am Ende der Protokollnachricht nicht um. Der Standardwert ist
False.- location
Wo die Nachricht ausgegeben wurde. Für weitere Details siehe
SphinxLoggerAdapter.warning().- color
Die Farbe der Protokolle. Standardmäßig werden Info- und Verbose-Level-Protokolle nicht gefärbt, Debug-Level-Protokolle werden als
"darkgray"gefärbt.
- sphinx.util.logging.pending_logging()[Quelle]¶
Kontextmanager zum vorübergehenden Aufschieben aller Protokolle.
Zum Beispiel
>>> 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()[Quelle]¶
Kontextmanager zum vorübergehenden Aufschieben der Protokollierung von Warnungen.
Ähnlich wie
pending_logging().