logging — tapahtumien lokitus¶
Tämä moduuli tarjoaa kevyen osajoukon vakio-Pythonin logging-paketista MicroPythonille mukautettuna. Se tukee tasoperusteista lokitusta hierarkkisesti nimettyjen Logger-objektien kautta, pientä joukkoa käsittelijöitä (StreamHandler, FileHandler), printf-tyylistä muotoilua Formatter-luokan avulla sekä moduulitason apufunktioita, jotka vastaavat juurilokittajaan kohdistuvia toimintoja.
Moduuli noudattaa tuttua CPython-API:a riittävän tarkasti, jotta yksinkertaiset vakiokirjastolle kirjoitetut sovellukset toimivat sellaisinaan. Suodattimia, monen prosessin lukitusta, asetustiedostomuotoa ja useimpia käsittelijäluokkia ei tarjota.
Tasovakiot¶
Funktiot¶
- logging.getLogger(name: str | None = None) Logger¶
Palauttaa nimellä name rekisteröidyn
Logger-objektin ja luo sen ensimmäisellä käyttökerralla. Jos name onNone, palautetaan juurilokittaja. Ensimmäinen kutsu arvollaname="root"(tai kun name on asettamatta) kutsuu implisiittisesti funktiotabasicConfig, joka liittää oletusarvoisenStreamHandler-käsittelijän kirjoittamaan kohteeseensys.stderr.
- logging.log(level: int, msg: str, *args) None¶
Kirjaa viesti tasolla level juurilokittajaan. args interpoloidaan viestiin msg printf-tyylisellä
%-muotoilulla; yksittäistä sanakirja-argumenttia käytetään kuvauksena.
- logging.exception(msg: str, *args, exc_info: bool | BaseException = True) None¶
Vastaa kutsua
getLogger().exception(msg, *args, exc_info=exc_info). Kirjaa viestin tasollaERRORja muotoilee lisäksi aktiivisen poikkeuksen jäljityksen, kun exc_info on tosi. Jos exc_info on itseBaseException, käytetään kyseisen poikkeuksen jäljitystä; muutoin tarkistetaansys.exc_info(), kun se on saatavilla.
- logging.shutdown() None¶
Sulkee jokaiseen tunnettuun lokittajaan liitetyn käsittelijän ja unohtaa lokittajat. Rekisteröidään automaattisesti kautta
sys.atexit, kun kyseinen koukku on saatavilla.
- logging.addLevelName(level: int, name: str) None¶
Yhdistää tekstimuotoisen nimen name numeeriseen tasoon level, jotta
Formattervoi esittää sen muodossa%(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¶
Määrittää juurilokittajan yhdellä käsittelijällä.
Jos filename annetaan, luodaan
FileHandlerkäyttäen arvoja filemode ja encoding; muutoin käytetäänStreamHandler-käsittelijää, joka kirjoittaa kohteeseen stream (oletuksenasys.stderr).format ja datefmt välitetään uudelle
Formatter-objektille.level asettaa sekä käsittelijän tason että juurilokittajan tason.
Jos juurilokittajalla on jo käsittelijöitä, tämä funktio ei tee mitään, ellei force ole
True, jolloin olemassa olevat käsittelijät suljetaan ja korvataan.
Luokat¶
- class logging.Logger(name: str, level: int = NOTSET)¶
Nimetty lokittaja. Luo lokittajat funktiolla
getLoggersuoran instansoinnin sijaan, jottagetLoggervoi palauttaa saman instanssin samalle nimelle.- handlers: list¶
Tähän lokittajaan liitettyjen
Handler-instanssien lista. Kun lista on tyhjä, viestit lähetetään juurilokittajan käsittelijöille.
- isEnabledFor(level: int) bool¶
Palauttaa
True, jos tämä lokittaja käsittelisi tasolla level olevan viestin.
- getEffectiveLevel() int¶
Palauttaa seuraavista ensimmäisen nollasta poikkeavan: tämän lokittajan taso, juurilokittajan taso tai
WARNING.
- log(level: int, msg: str, *args) None¶
Kirjaa viestin msg tasolla level. args interpoloidaan viestiin msg
%-operaattorilla; jos ensimmäinen positionaalinen argumentti on sanakirja, sitä käytetään kuvauksena.
- exception(msg: str, *args, exc_info: bool | BaseException = True) None¶
Kirjaa viestin msg tasolla
ERRORja, kun exc_info on tosi, liittää muotoillun jäljityksen. Jos exc_info onBaseException-instanssi, esitetään kyseisen poikkeuksen jäljitys; muutoin aktiivinen poikkeus tarkistetaan kutsullasys.exc_info().
- class logging.Handler(level: int = NOTSET)¶
Kaikkien käsittelijöiden kantaluokka. Aliluokat toteuttavat metodin
emit().- close() None¶
Vapauttaa käsittelijän varaamat resurssit. Kutsutaan funktiosta
shutdownja luokastaFileHandlersen sulkemisen yhteydessä.
- class logging.StreamHandler(stream=None)¶
Käsittelijä, joka kirjoittaa muotoillut tietueet ja niiden perään merkin
self.terminator(oletuksena"\n") kohteeseen stream. stream on oletuksenasys.stderr.- stream¶
Kohdevirtaobjekti.
- class logging.FileHandler(filename: str, mode: str = 'a', encoding: str = 'UTF-8')¶
StreamHandler-aliluokka, joka avaa tiedoston filename annetulla tilalla mode ja koodauksella encoding ja kirjoittaa muotoillut tietueet siihen. Alla oleva tiedosto suljetaan metodillaclose().
- class logging.Formatter(fmt: str | None = None, datefmt: str | None = None)¶
Esittää
LogRecord-instanssit merkkijonoina.fmt on printf-tyylinen malli. Tunnistetut avaimet ovat
%(name)s,%(message)s,%(msecs)d,%(asctime)sja%(levelname)s. Kun arvoa ei aseteta, oletuksena on"%(levelname)s:%(name)s:%(message)s".datefmt on
time.strftime-malli, jota käytetään esittämään%(asctime)s. Oletuksena"%Y-%m-%d %H:%M:%S".- formatTime(datefmt: str, record: LogRecord) str | None¶
Muotoilee arvon
record.ctkäyttäen funktiotatime.strftimeja mallia datefmt. PalauttaaNonealustoilla, joillatime.strftimeei ole saatavilla.
- format(record: LogRecord) str¶
Esittää tietueen record. Jos malli käyttää avainta
asctime, metodiaformatTime()kutsutaan ensin täyttämäänrecord.asctime.