Schreiben Sie die folgenden Einstellungen in settings.py
LOGGING = {
'version': 1, #Wenn Sie dies nicht einstellen, werden Sie wütend
'formatters': { #Geben Sie das Ausgabeformat im Zeichenfolgenformat an
'all': { #Für das Ausgabeformat`all`Gib ihm den Namen
'format': '\t'.join([
"[%(levelname)s]",
"asctime:%(asctime)s",
"module:%(module)s",
"message:%(message)s",
"process:%(process)d",
"thread:%(thread)d",
])
},
},
'handlers': { #Festlegen, wo das Protokoll abgelegt werden soll
'file': { #Geben Sie der Einstellung, wo sie abgelegt werden soll, einen Namen`file`Benannt
'level': 'DEBUG', #Dies bedeutet, dass Protokolle von DEBUG oder höher verarbeitet werden
'class': 'logging.FileHandler', #Geben Sie die Klasse an, in der das Protokoll ausgegeben werden soll
'filename': os.path.join(BASE_DIR, 'django.log'), #Wo soll ich es rausbringen?
'formatter': 'all', #Geben Sie an, welches Ausgabeformat nach Namen ausgegeben werden soll
},
'console': { #Eine andere Einstellung, wo es platziert werden soll, diese Einstellung`console`Name
'level': 'DEBUG',
#Dies gibt die Klasse an, die an die Standardausgabe ausgegeben wird
'class': 'logging.StreamHandler',
'formatter': 'all'
},
},
'loggers': { #Stellen Sie ein, welche Art von Logger Sie haben
'command': { #Definieren Sie einen Logger mit dem Namen command
'handlers': ['file', 'console'], #Datei oben erwähnt,Ausgabe mit Konsoleneinstellungen
'level': 'DEBUG',
},
},
}
Erstellen und rufen Sie eine solche Funktion auf
def info(msg):
logger = logging.getLogger('command')
logger.info(msg)
info("hello!")
Ausgabe in django.log und Standardausgabe im folgenden Format
[INFO] asctime:2015-09-23 16:27:11,291 module:my_module_name message:hello! process:97649 thread:140735161512704
Die offizielle Dokumentation enthält einige Konfigurationsbeispiele: https://docs.djangoproject.com/de/1.8/topics/logging/#examples
Recommended Posts