logging — händelseloggning¶
Denna modul tillhandahåller en lättviktig delmängd av standardpaketet logging i Python anpassad för MicroPython. Den stöder nivåbaserad loggning genom hierarkiskt namngivna Logger-objekt, en liten uppsättning hanterare (StreamHandler, FileHandler), printf-liknande formatering via Formatter samt bekvämlighetsfunktioner på modulnivå motsvarande dem som arbetar mot rotloggaren.
Modulen följer det välbekanta CPython-API:et tillräckligt nära för att enkla applikationer skrivna för standardbiblioteket ska fungera oförändrade. Filter, låsning mellan flera processer, formatet för konfigurationsfiler och de flesta hanterarklasser tillhandahålls inte.
Nivåkonstanter¶
Funktioner¶
- logging.getLogger(name: str | None = None) Logger¶
Returnerar den
Loggersom är registrerad under name och skapar den vid första användningen. Om name ärNonereturneras rotloggaren. Det första anropet medname="root"(eller med name osatt) anropar implicitbasicConfigför att koppla på en standard-StreamHandlersom skriver tillsys.stderr.
- logging.log(level: int, msg: str, *args) None¶
Loggar ett meddelande på nivån level på rotloggaren. args interpoleras in i msg med printf-liknande
%-formatering; ett enskilt dict-argument används som mappning.
- logging.exception(msg: str, *args, exc_info: bool | BaseException = True) None¶
Motsvarar
getLogger().exception(msg, *args, exc_info=exc_info). Loggar meddelandet påERRORoch formaterar dessutom den aktiva undantagets stackspårning när exc_info är sann. Om exc_info självt är ettBaseExceptionanvänds det undantagets stackspårning; annars konsulterassys.exc_info()när det är tillgängligt.
- logging.shutdown() None¶
Stänger varje hanterare som är kopplad till varje känd loggare och glömmer loggarna. Registreras automatiskt via
sys.atexitnär den kroken är tillgänglig.
- logging.addLevelName(level: int, name: str) None¶
Kopplar det textuella name till den numeriska nivån level så att
Formatterkan återge det 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¶
Konfigurerar rotloggaren med en enda hanterare.
Om filename anges skapas en
FileHandlermed filemode och encoding; annars används enStreamHandlersom skriver till stream (medsys.stderrsom standard).format och datefmt skickas vidare till en ny
Formatter.level anger både hanterarens nivå och rotloggarens nivå.
Om rotloggaren redan har hanterare är denna funktion verkningslös såvida inte force är
True, i vilket fall de befintliga hanterarna stängs och ersätts.
Klasser¶
- class logging.Logger(name: str, level: int = NOTSET)¶
En namngiven loggare. Skapa loggare via
getLoggersnarare än direkt, så attgetLoggerkan returnera samma instans för samma namn.- handlers: list¶
Listan över
Handler-instanser som är kopplade till denna loggare. När den är tom skickas meddelanden till rotloggarens hanterare.
- isEnabledFor(level: int) bool¶
Returnerar
Trueom ett meddelande på nivån level skulle behandlas av denna loggare.
- getEffectiveLevel() int¶
Returnerar den första nollskilda av: denna loggares nivå, rotloggarens nivå eller
WARNING.
- log(level: int, msg: str, *args) None¶
Loggar msg på nivån level. args interpoleras in i msg med
%-operatorn; om det första positionsargumentet är en dict används det som en mappning.
- exception(msg: str, *args, exc_info: bool | BaseException = True) None¶
Loggar msg på
ERRORoch, när exc_info är sann, lägger till den formaterade stackspårningen. Om exc_info är enBaseException-instans återges det undantagets stackspårning; annars konsulteras det aktiva undantaget viasys.exc_info().
- class logging.Handler(level: int = NOTSET)¶
Basklass för alla hanterare. Underklasser implementerar
emit().- close() None¶
Frigör resurser som hålls av hanteraren. Anropas av
shutdownoch avFileHandlernär den stängs.
- class logging.StreamHandler(stream=None)¶
Hanterare som skriver formaterade poster, följt av
self.terminator("\n"som standard), till stream. stream är som standardsys.stderr.- stream¶
Målströmobjektet.
- class logging.FileHandler(filename: str, mode: str = 'a', encoding: str = 'UTF-8')¶
Underklass till
StreamHandlersom öppnar filename med angivet mode och encoding och skriver formaterade poster till den. Den underliggande filen stängs vidclose().
- class logging.Formatter(fmt: str | None = None, datefmt: str | None = None)¶
Återger
LogRecord-instanser till strängar.fmt är en printf-liknande mall. Igenkända nycklar är
%(name)s,%(message)s,%(msecs)d,%(asctime)soch%(levelname)s. När den är osatt är den som standard"%(levelname)s:%(name)s:%(message)s".datefmt är den
time.strftime-mall som används för att återge%(asctime)s. Är som standard"%Y-%m-%d %H:%M:%S".- formatTime(datefmt: str, record: LogRecord) str | None¶
Formaterar
record.ctmedtime.strftimeoch datefmt. ReturnerarNonepå plattformar därtime.strftimeinte är tillgängligt.
- format(record: LogRecord) str¶
Återger record. Om mallen använder
asctimeanropasformatTime()först för att fylla irecord.asctime.