Maison >développement back-end >Tutoriel Python >Django utilise la journalisation pour imprimer les journaux
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!