[PYTHON] (Minimale) Verwendung von Django Logger

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

(Minimale) Verwendung von Django Logger
Zusammenfassung der Verwendung von pyenv
Grundlegende Verwendung von Jinja2
Eindrücke, Django zu berühren
Verwendung von Python-Einheimischen ()
Grundlegende Verwendung von SQL Alchemy
Super grundlegende Verwendung von Pytest
Minimale Konfigurations-Website-Umgebung mit Django
Zusammenfassung der grundlegenden Verwendung von Pandas
Beispiel für die Verwendung von Python Pickle
Grundlegende Verwendung von Python-F-String
[Python] Richtige Verwendung von Join
Index der Verwendung bestimmter Pandas
Verhindern Sie den doppelten Start des Befehls django
[Django] Memorandum of Environment Construction Procedure
Implementierung der Login-Funktion in Django
Benutzerfreundliche Hinweise für Anaconda (conda)
[Python] Richtige Verwendung der if-Anweisung