Écrivez les paramètres suivants dans settings.py
LOGGING = {
'version': 1, #Si vous ne définissez pas cela, vous vous fâcherez
'formatters': { #Spécifiez le format de sortie au format chaîne
'all': { #Pour le format de sortie`all`Donnez-lui le nom
'format': '\t'.join([
"[%(levelname)s]",
"asctime:%(asctime)s",
"module:%(module)s",
"message:%(message)s",
"process:%(process)d",
"thread:%(thread)d",
])
},
},
'handlers': { #Définir où placer le journal
'file': { #Donnez un nom au paramètre où le mettre`file`Est appelé
'level': 'DEBUG', #Signification de gérer les journaux de DEBUG ou supérieur
'class': 'logging.FileHandler', #Spécifiez la classe pour sortir le journal
'filename': os.path.join(BASE_DIR, 'django.log'), #Où le sortir
'formatter': 'all', #Spécifiez le format de sortie à afficher par nom
},
'console': { #Un autre paramètre pour savoir où le mettre, ce paramètre`console`Nom
'level': 'DEBUG',
#Ceci spécifie la classe qui sort sur la sortie standard
'class': 'logging.StreamHandler',
'formatter': 'all'
},
},
'loggers': { #Définissez le type d'enregistreur dont vous disposez
'command': { #Définir un enregistreur nommé command
'handlers': ['file', 'console'], #Fichier mentionné ci-dessus,Sortie avec les paramètres de la console
'level': 'DEBUG',
},
},
}
Créer et appeler une telle fonction
def info(msg):
logger = logging.getLogger('command')
logger.info(msg)
info("hello!")
Sortie vers django.log et sortie standard au format suivant
[INFO] asctime:2015-09-23 16:27:11,291 module:my_module_name message:hello! process:97649 thread:140735161512704
La documentation officielle contient quelques exemples de configuration: https://docs.djangoproject.com/en/1.8/topics/logging/#examples
Recommended Posts