Heim > Backend-Entwicklung > Python-Tutorial > Django verwendet Protokollierung, um Protokolle zu drucken

Django verwendet Protokollierung, um Protokolle zu drucken

不言
Freigeben: 2018-04-28 10:07:39
Original
2614 Leute haben es durchsucht

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,
  },
 },
}
Nach dem Login kopieren

Anmeldecode drucken:

logger = logging.getLogger(‘django')
logger.info(“This is an error msg”)
Nach dem Login kopieren

[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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage