【Verwandte Empfehlungen: Python3-Video-Tutorial】
Protokollierung ist eine häufig verwendete Protokollierungsbibliothek in der Python-Standardbibliothek. Sie speichert Protokolle in verschiedenen Formaten über das Protokollierungsmodul. Wird zur Ausgabe laufender Protokolle verwendet. Sie können die Ausgabeprotokollstufe, den Protokollspeicherpfad, das Rollback der Protokolldatei usw. festlegen.
Erstellen Sie zunächst eine logger.py-Datei. Der darin enthaltene Code lautet wie folgt:
import logging # 1.创建一个logger实例,并且logger实例的名称命名为“single info”,设定的严重级别为DEBUG LOGGER = logging.getLogger('single info') LOGGER.setLevel(logging.DEBUG) # 2.创建一个handler,这个主要用于控制台输出日志,并且设定严重级别 ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # 3.创建handler的输出格式(formatter) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 4.将formatter添加到handler中 ch.setFormatter(formatter) # 5.将handler添加到logger中 LOGGER.addHandler(ch)
Erstellen Sie eine demo.py-Datei im selben Verzeichnis wie die logger.py-Datei. Verweisen Sie auf die zuvor erstellte logger-Instanz in der demo.py-Datei. Der Code lautet wie folgt:
from logger import LOGGER LOGGER.debug("打印DEBUG级别的日志") LOGGER.info("打印INFO级别的日志")
Führen Sie die demo.py-Datei wie folgt aus:
2022-09-03 17: 38:16.554 – Einzelinformationen – DEBUG – Protokolle auf DEBUG-Ebene drucken
2022-09-03 17:38:16.555 – Einzelinformationen – INFO – Protokolle auf INFO-Ebene drucken
Sie können sehen, dass das entsprechende Protokoll nicht ausgegeben wird, da die Protokollstufe von INFO kleiner als WARNING ist
: Erstellen Sie beim Protokollieren einen Menschen. Die lesbare Zeit hat standardmäßig die Form „2022-09-03 17:28:38,073“ (die Zahl nach dem Komma ist der Millisekundenteil der Zeit)
: Stellt die Logger-Instanz dar. Der Name
%( name)s
%(levelname)s
: Zeigt den Inhalt des Protokolls an 5. Geben Sie das Protokoll in die angegebene Datei aus.
Ändern Sie das Obige. Die Datei logger.py wird wie folgt geändert: import logging
LOGGER = logging.getLogger('single info')
LOGGER.error("打印ERROR级别日志")
LOGGER.warning("打印WARNING级别日志")
LOGGER.info("打印INFO级别日志")
import logging # 1、创建一个logger实例,并且logger实例的名称命名为“single info”,设定的严重级别为DEBUG LOGGER = logging.getLogger('single info') LOGGER.setLevel(logging.DEBUG) # 2、创建一个handler,用于写入日志文件 fh = logging.FileHandler('test.log',encoding="utf-8", mode="a") fh.setLevel(logging.WARNING) #3、定义handler的输出格式(formatter) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(lineno)d : %(message)s') # 4、给handler添加formatter fh.setFormatter(formatter) # 5、给logger添加handler LOGGER.addHandler(fh)
Protokoll der Fehlerstufe drucken Protokoll der Stufe WARNUNG drucken
Besonderer Hinweis: Seitdem Soll Chinesisch in der Protokolldatei ausgegeben werden, müssen Sie die Codierung festlegen, wenn Sie die Protokolldatei angeben , sichern Sie bis zu 3 Protokolldateien, jede Protokolldatei kann bis zu 1K groß seinfrom logger import LOGGER
LOGGER.debug("打印DEBUG级别的日志")
LOGGER.error("打印ERROR级别的日志")
Ändern Sie einfach die Datei logger.py: Definieren Sie einen TimedRotatingFileHandler, sichern Sie bis zu 3 Protokolldateien und verwenden Sie alle 5 Sekunden als Intervallpunkt einer Protokolldatei
import logging from logging.handlers import RotatingFileHandler # 1、创建一个logger实例,并且logger实例的名称命名为“single info”,设定的严重级别为DEBUG LOGGER = logging.getLogger('single info') LOGGER.setLevel(logging.DEBUG) # 2、定义一个RotatingFileHandler,最多备份3个日志文件,每个日志文件最大1K rHandler = RotatingFileHandler("log.txt",maxBytes = 1,backupCount = 3,encoding="utf-8", mode="a") rHandler.setLevel(logging.WARNING) #3、定义handler的输出格式(formatter) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(lineno)d : %(message)s') # 4、给handler添加formatter rHandler.setFormatter(formatter) # 5、给logger添加handler LOGGER.addHandler(rHandler)
viele Male Nachdem Sie demo.py ausgeführt haben, können Sie sehen, dass vier neue Dateien im Stammverzeichnis des Projekts hinzugefügt werden:
ds_update stellt die im aktuellen Protokoll gespeicherte Datei dar, ds_update.2022-09-03_19 -24-50, ds_update.2022-09-03_19-24-45 und ds_update.2022-09-03_19-24-36 Die Protokollsicherungsdateien werden in chronologischer Reihenfolge von aktuell nach weitestgehend gerollt. 【Verwandte Empfehlung:
Python3-Video-TutorialDas obige ist der detaillierte Inhalt vonBeispiele für die Protokollierung in der Python-Standardbibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!