logging — eseménynaplózás¶
Ez a modul a szabványos Python logging csomag MicroPythonhoz igazított, könnyűsúlyú részhalmazát biztosítja. Támogatja a szintekre bontott naplózást hierarchikusan elnevezett Logger objektumokon keresztül, egy kis kezelőkészletet (StreamHandler, FileHandler), a printf-stílusú formázást a Formatter révén, valamint modulszintű kényelmi függvényeket, amelyek megfelelnek a gyökérnaplózón működő társaiknak.
A modul elég szorosan követi az ismerős CPython API-t ahhoz, hogy a szabványos könyvtárra írt egyszerű alkalmazások változtatás nélkül működjenek. A szűrők, a több folyamatra kiterjedő zárolás, a konfigurációsfájl-formátum és a legtöbb kezelőosztály nem érhető el.
Szintkonstansok¶
Függvények¶
- logging.getLogger(name: str | None = None) Logger¶
Visszaadja a name alatt regisztrált
Loggerobjektumot, az első használatkor létrehozva azt. Ha a name értékeNone, a gyökérnaplózót adja vissza. Az elsőname="root"(vagy name megadása nélküli) hívás implicit módon meghívja abasicConfigfüggvényt, hogy egy alapértelmezett, asys.stderrkimenetre íróStreamHandlerkezelőt csatoljon.
- logging.log(level: int, msg: str, *args) None¶
Egy üzenet naplózása level szinten a gyökérnaplózón. Az args argumentumok printf-stílusú
%formázással kerülnek be a msg üzenetbe; egyetlen dict argumentumot a leképezésként használ.
- logging.exception(msg: str, *args, exc_info: bool | BaseException = True) None¶
Egyenértékű a
getLogger().exception(msg, *args, exc_info=exc_info)hívással. Az üzenetetERRORszinten naplózza, és emellett formázza az aktív kivétel veremkövetését, ha az exc_info igaz értékű. Ha az exc_info maga egyBaseException, akkor annak a kivételnek a veremkövetése kerül felhasználásra; ellenkező esetben asys.exc_info()kerül lekérdezésre, ha elérhető.
- logging.shutdown() None¶
Lezárja az összes ismert naplózóhoz csatolt minden kezelőt, és elfelejti a naplózókat. Automatikusan regisztrálva a
sys.atexitrévén, ha az a horog elérhető.
- logging.addLevelName(level: int, name: str) None¶
A szöveges name nevet a numerikus level szinthez társítja, hogy a
Formattera%(levelname)ssegítségével meg tudja jeleníteni.
- 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¶
A gyökérnaplózó beállítása egyetlen kezelővel.
Ha a filename meg van adva, egy
FileHandlerjön létre a filemode és az encoding használatával; ellenkező esetben egy a stream kimenetre íróStreamHandler(alapértelmezettensys.stderr) kerül felhasználásra.A format és a datefmt átadásra kerül egy új
Formatterobjektumnak.A level beállítja mind a kezelő szintjét, mind a gyökérnaplózó szintjét.
Ha a gyökérnaplózónak már vannak kezelői, ez a függvény nem csinál semmit, hacsak a force értéke nem
True, amely esetben a meglévő kezelők lezárásra és lecserélésre kerülnek.
Osztályok¶
- class logging.Logger(name: str, level: int = NOTSET)¶
Egy elnevezett naplózó. A naplózókat a
getLoggersegítségével hozd létre, ne közvetlenül, hogy agetLoggerugyanazon név esetén ugyanazt a példányt tudja visszaadni.- handlers: list¶
Az ehhez a naplózóhoz csatolt
Handlerpéldányok listája. Ha üres, az üzenetek a gyökérnaplózó kezelőihez kerülnek továbbításra.
- isEnabledFor(level: int) bool¶
Visszaadja a
Trueértéket, ha egy level szintű üzenetet ez a naplózó feldolgozna.
- getEffectiveLevel() int¶
Az alábbiak közül az első nem nulla értéket adja vissza: ennek a naplózónak a szintje, a gyökérnaplózó szintje, vagy a
WARNING.
- log(level: int, msg: str, *args) None¶
A msg naplózása level szinten. Az args argumentumok a
%operátorral kerülnek be a msg üzenetbe; ha az első pozicionális argumentum egy dict, akkor azt leképezésként használja.
- exception(msg: str, *args, exc_info: bool | BaseException = True) None¶
A msg naplózása
ERRORszinten, és ha az exc_info igaz értékű, hozzáfűzi a formázott veremkövetést. Ha az exc_info egyBaseExceptionpéldány, annak a kivételnek a veremkövetése jelenik meg; ellenkező esetben az aktív kivétel kerül lekérdezésre asys.exc_info()révén.
- class logging.Handler(level: int = NOTSET)¶
Az összes kezelő alaposztálya. Az alosztályok implementálják az
emit()metódust.- close() None¶
Felszabadítja a kezelő által tartott erőforrásokat. A
shutdownhívja meg, valamint aFileHandleris, amikor az lezárásra kerül.
- class logging.StreamHandler(stream=None)¶
Olyan kezelő, amely a formázott rekordokat, majd azt követően a
self.terminatorértéket (alapértelmezetten"\n") írja a stream kimenetre. A stream alapértelmezett értékesys.stderr.- stream¶
A cél stream objektum.
- terminator: str¶
Minden formázott rekord után hozzáfűzött karakterlánc. Alapértelmezett értéke
"\n".
- class logging.FileHandler(filename: str, mode: str = 'a', encoding: str = 'UTF-8')¶
A
StreamHandleralosztálya, amely a filename fájlt megnyitja a megadott mode és encoding értékekkel, és a formázott rekordokat oda írja. Az alapul szolgáló fájl aclose()hívásakor zárul be.
- class logging.Formatter(fmt: str | None = None, datefmt: str | None = None)¶
A
LogRecordpéldányokat karakterláncokká alakítja.Az fmt egy printf-stílusú sablon. A felismert kulcsok:
%(name)s,%(message)s,%(msecs)d,%(asctime)sés%(levelname)s. Ha nincs beállítva, alapértelmezett értéke"%(levelname)s:%(name)s:%(message)s".A datefmt a
%(asctime)smegjelenítéséhez használttime.strftimesablon. Alapértelmezett értéke"%Y-%m-%d %H:%M:%S".- formatTime(datefmt: str, record: LogRecord) str | None¶
A
record.ctformázása atime.strftimeés a datefmt használatával. Azokon a platformokon, ahol atime.strftimenem érhető el,Noneértéket ad vissza.
- format(record: LogRecord) str¶
A record megjelenítése. Ha a sablon az
asctimekulcsot használja, először azformatTime()kerül meghívásra arecord.asctimekitöltéséhez.