Maison  >  Article  >  développement back-end  >  Django utilise la journalisation pour imprimer les journaux

Django utilise la journalisation pour imprimer les journaux

不言
不言original
2018-04-28 10:07:392553parcourir

Ce qui suit est un exemple de Django utilisant la journalisation pour imprimer des journaux. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Jetons un coup d'œil ensemble

Django utilise la propre journalisation de Python comme outil d'impression de journaux. Présentons brièvement la journalisation.

La journalisation est thread-safe et se compose principalement de 4 parties :

Logger

Interface directe utilisée par les utilisateurs, Pass le journal vers Handler

Handler

Contrôle où le journal est sorti, console, fichier...

Un enregistreur peut avoir plusieurs gestionnaires

Filtre

contrôle quels journaux peuvent circuler de l'enregistreur au gestionnaire

Formateur

Contrôler le format du journal

Les utilisateurs utilisent logging.getLogger([name]) pour obtenir l'instance de l'enregistreur.

S'il n'y a pas de nom, renvoie le logger racine dans la hiérarchie des loggers. L'appel de cette fonction avec le même nom renvoie toujours la même instance de logger. Cela signifie qu'il n'est pas nécessaire de transmettre les instances de l'enregistreur entre les différentes parties de l'application.

Django personnalise la sortie du journal (y compris la définition du logger, du gestionnaire, du formateur, etc.) en utilisant LOGGING dans le fichier de paramètres

Par exemple, le fichier de paramètres est défini comme suit :

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,
  },
 },
}

Imprimer le code de connexion :

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

[2017-07-15 17:44:51,316] [ERREUR] Ceci est un message d'erreur

De cette façon, le journal est imprimé sur le terminal et dans le fichier.

Pour plus d'informations sur la journalisation Django, veuillez vous référer au site officiel

https://docs.djangoproject.com/en/1.11/topics/logging/

Recommandations associées :

Comment Django charge les fichiers CSS et JS et les images statiques


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn