logging — event logging¶
Deze module biedt een lichtgewicht subset van het standaard Python-pakket logging, aangepast voor MicroPython. Het ondersteunt logging met niveaus via hiërarchisch benoemde Logger-objecten, een kleine set handlers (StreamHandler, FileHandler), printf-stijl opmaak via Formatter, en gemaksfuncties op moduleniveau die gelijkwaardig zijn aan die welke op de root-logger werken.
De module volgt de bekende CPython-API nauw genoeg dat eenvoudige toepassingen die voor de standaardbibliotheek zijn geschreven, ongewijzigd zouden moeten werken. Filters, vergrendeling voor meerdere processen, het formaat van het configuratiebestand en de meeste handlerklassen worden niet aangeboden.
Niveauconstanten¶
Functies¶
- logging.getLogger(name: str | None = None) Logger¶
Geef de
Loggerterug die onder name is geregistreerd, en maak deze aan bij het eerste gebruik. Als name gelijk is aanNonewordt de root-logger teruggegeven. De eerste aanroep metname="root"(of met name niet ingesteld) roept implicietbasicConfigaan om een standaardStreamHandlerte koppelen die naarsys.stderrschrijft.
- logging.log(level: int, msg: str, *args) None¶
Log een bericht op level op de root-logger. args worden in msg geïnterpoleerd met printf-stijl
%-opmaak; een enkel dict-argument wordt gebruikt als de mapping.
- logging.exception(msg: str, *args, exc_info: bool | BaseException = True) None¶
Gelijkwaardig aan
getLogger().exception(msg, *args, exc_info=exc_info). Logt het bericht opERRORen formatteert daarnaast de traceback van de actieve uitzondering wanneer exc_info waarheidsgetrouw is. Als exc_info zelf eenBaseExceptionis, wordt de traceback van die uitzondering gebruikt; anders wordtsys.exc_info()geraadpleegd indien beschikbaar.
- logging.shutdown() None¶
Sluit elke handler die aan elke bekende logger is gekoppeld en vergeet de loggers. Wordt automatisch geregistreerd via
sys.atexitwanneer die hook beschikbaar is.
- logging.addLevelName(level: int, name: str) None¶
Koppel de tekstuele name aan het numerieke level zodat
Formatterdeze kan weergeven via%(levelname)s.
- logging.basicConfig(filename: str | None = None, filemode: str = 'a', format: str | None = None, datefmt: str | None = None, level: int = WARNING, stream=None, encoding: str = 'UTF-8', force: bool = False) None¶
Configureer de root-logger met één enkele handler.
Als filename wordt opgegeven, wordt een
FileHandleraangemaakt met behulp van filemode en encoding; anders wordt eenStreamHandlergebruikt die naar stream schrijft (standaardsys.stderr).format en datefmt worden doorgegeven aan een nieuwe
Formatter.level stelt zowel het niveau van de handler als het niveau van de root-logger in.
Als de root-logger al handlers heeft, doet deze functie niets, tenzij force gelijk is aan
True, in welk geval de bestaande handlers worden gesloten en vervangen.
Klassen¶
- class logging.Logger(name: str, level: int = NOTSET)¶
Een benoemde logger. Construeer loggers via
getLoggerin plaats van rechtstreeks, zodatgetLoggerdezelfde instantie kan teruggeven voor dezelfde naam.- handlers: list¶
De lijst van
Handler-instanties die aan deze logger zijn gekoppeld. Wanneer deze leeg is, worden berichten naar de handlers van de root-logger gestuurd.
- isEnabledFor(level: int) bool¶
Geeft
Trueterug als een bericht van level door deze logger zou worden verwerkt.
- getEffectiveLevel() int¶
Geeft de eerste niet-nul waarde terug van: het niveau van deze logger, het niveau van de root-logger, of
WARNING.
- log(level: int, msg: str, *args) None¶
Log msg op level. args worden in msg geïnterpoleerd met de
%-operator; als het eerste positionele argument een dict is, wordt het gebruikt als een mapping.
- exception(msg: str, *args, exc_info: bool | BaseException = True) None¶
Log msg op
ERRORen voeg, wanneer exc_info waarheidsgetrouw is, de geformatteerde traceback toe. Als exc_info eenBaseException-instantie is, wordt de traceback van die uitzondering weergegeven; anders wordt de actieve uitzondering geraadpleegd viasys.exc_info().
- class logging.Handler(level: int = NOTSET)¶
Basisklasse voor alle handlers. Subklassen implementeren
emit().- close() None¶
Geef de bronnen vrij die door de handler worden vastgehouden. Aangeroepen door
shutdownen doorFileHandlerwanneer deze wordt gesloten.
- class logging.StreamHandler(stream=None)¶
Handler die geformatteerde records, gevolgd door
self.terminator(standaard"\n"), naar stream schrijft. stream is standaardsys.stderr.- stream¶
Het doelstream-object.
- class logging.FileHandler(filename: str, mode: str = 'a', encoding: str = 'UTF-8')¶
Subklasse van
StreamHandlerdie filename opent met de opgegeven mode en encoding en er geformatteerde records naartoe schrijft. Het onderliggende bestand wordt gesloten bijclose().
- class logging.Formatter(fmt: str | None = None, datefmt: str | None = None)¶
Geeft
LogRecord-instanties weer als tekenreeksen.fmt is een printf-stijl sjabloon. Herkende sleutels zijn
%(name)s,%(message)s,%(msecs)d,%(asctime)sen%(levelname)s. Indien niet ingesteld is de standaard"%(levelname)s:%(name)s:%(message)s".datefmt is het
time.strftime-sjabloon dat wordt gebruikt om%(asctime)sweer te geven. Standaard"%Y-%m-%d %H:%M:%S".- formatTime(datefmt: str, record: LogRecord) str | None¶
Formatteer
record.ctmet behulp vantime.strftimeen datefmt. GeeftNoneterug op platforms waartime.strftimeniet beschikbaar is.
- format(record: LogRecord) str¶
Geef record weer. Als het sjabloon
asctimegebruikt, wordtformatTime()eerst aangeroepen omrecord.asctimete vullen.