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

Django utilise la journalisation pour imprimer les journaux

不言
Libérer: 2018-04-28 10:07:39
original
2614 Les gens l'ont consulté

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,
  },
 },
}
Copier après la connexion

Imprimer le code de connexion :

logger = logging.getLogger(‘django')
logger.info(“This is an error msg”)
Copier après la connexion

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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal