Das Folgende ist ein Beispiel dafür, wie Django die Protokollierung zum Drucken von Protokollen verwendet. Es hat einen guten Referenzwert und ich hoffe, es wird für alle hilfreich sein. Werfen wir gemeinsam einen Blick darauf
Django verwendet Pythons eigene Protokollierung als Protokolldrucktool. Lassen Sie uns kurz die Protokollierung vorstellen.
Protokollierung ist Thread-sicher und besteht hauptsächlich aus 4 Teilen:
Logger
Direkte Schnittstelle, die von Benutzern verwendet wird, Pass das Protokoll an den Handler
Handler
Steuern Sie, wo das Protokoll ausgegeben wird, Konsole, Datei...
Ein Logger kann mehrere Handler haben
Filter
steuert, welche Protokolle vom Logger zum Handler fließen können
Formatter
Kontrollieren Sie das Format des Protokolls
Benutzer verwenden logging.getLogger([name]), um die Logger-Instanz abzurufen.
Wenn kein Name vorhanden ist, geben Sie den Root-Logger in der Logger-Hierarchie zurück. Der Aufruf dieser Funktion mit demselben Namen gibt immer dieselbe Logger-Instanz zurück. Dies bedeutet, dass Logger-Instanzen nicht zwischen verschiedenen Teilen der Anwendung weitergegeben werden müssen.
Django passt die Protokollausgabe an (einschließlich der Definition von Logger, Handler, Formatierer usw.), indem LOGGING in der Einstellungsdatei verwendet wird.
Zum Beispiel ist die Einstellungsdatei wie folgt definiert:
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '[%(asctime)s] [%(levelname)s] %(message)s' }, }, 'handlers': { 'console':{ 'level':'INFO', 'class':'logging.StreamHandler', 'formatter': 'verbose' }, 'file': { 'level': 'INFO', 'class': 'logging.FileHandler', 'filename': 'D:/monitor.log', 'formatter': 'verbose' }, 'email': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'include_html' : True, } }, 'loggers': { 'django': { 'handlers': ['console', 'file', 'email'], 'level': 'INFO', 'propagate': True, }, }, }
Anmeldecode drucken:
logger = logging.getLogger(‘django') logger.info(“This is an error msg”)
[2017-07-15 17:44:51,316] [ERROR] Dies ist eine Fehlermeldung
Auf diese Weise wird das Protokoll auf dem Terminal gedruckt und Datei.
Weitere Informationen zur Django-Protokollierung finden Sie auf der offiziellen Website
https://docs.djangoproject.com/en/1.11/topics/logging/
Verwandte Empfehlungen:
Wie Django CSS- und JS-Dateien und statische Bilder lädt
Das obige ist der detaillierte Inhalt vonDjango verwendet Protokollierung, um Protokolle zu drucken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!