Mindestkenntnisse, um mit dem Python-Protokollierungsmodul zu beginnen

Mindestkenntnisse, um mit dem Python-Protokollierungsmodul zu beginnen

Dieser Artikel zeigt Ihnen, wie Sie mit dem Python-Protokollierungsmodul für die App-Entwicklung mit minimalem Wissen beginnen. Da wir nur das Mindestwissen zusammengestellt haben, das sofort in der Entwicklung verwendet werden kann, hoffen wir, dass Sie es als Ausgangspunkt verwenden können, während Sie die fehlenden Informationen ergänzen.

Grundfunktionen der Protokollierung

Es ist wie eine Druckanweisung (aber verwenden Sie sie nicht so, da die Protokollierung keinen Sinn ergibt).

import logging
logging.warning( 'Watch out!') # Eine Nachricht an die Konsole drucken
logging.info( 'I said so') # Die Standardprotokollstufe ist eine Warnung, daher sollte nichts an die Konsole ausgegeben werden

Minimale Kenntnisse und Einstellungen für die Anmeldung bei der App-Entwicklung

logger

Vorlage für die Verwendung der Protokollierung

root
├──your_app.py
├──logging.conf
└──logging_dev.conf
root
├──app
│└──your_app.py
└──conf
    ├──logging.conf
    └──logging_dev.conf

your_app.py


import logging

# read the conf file
logging.config.fileConfig('logging_dev.conf', disable_existing_loggers=False)

# create logger
logger = logging.getLogger('app')

def main():
    try:
        1/0  # ZeroDivisionError
        # your code goes here   
    except Exception as e:
        logger.exception(e.args)


if __name__ == '__main__':
    main()

Protokollierungskonfigurationsdatei

Punkt

Beispiel für eine Einstellungsdatei für den Betrieb (Beachten Sie, dass die Protokollebene INFO ist)

logging-prod.conf


[loggers]
keys=root,app

[formatters]
keys=default

[handlers]
keys=frotate,default

[formatter_default]
format=%(asctime)s %(levelname)s %(message)s
datefmt=%Y/%m/%d %H:%M:%S

[handler_frotate]
class=handlers.TimedRotatingFileHandler
formatter=default
args=('logs/logger.log', 'W0', 1, 100)

[handler_default]
class=StreamHandler
formatter=default
args=(sys.stdout,)

[logger_app]
level=INFO
handlers=frotate
qualname=app

[logger_root]
level=INFO
handlers=default

Beispiel für eine Dev-Konfigurationsdatei (beachten Sie, dass die Protokollstufe NOTSET ist und lauter als DEBUG ist)

logging-dev.conf



[loggers]
keys=root,app

[formatters]
keys=default

[handlers]
keys=frotate,default

[formatter_default]
format=%(asctime)s %(levelname)s %(message)s
datefmt=%Y/%m/%d %H:%M:%S

[handler_frotate]
class=handlers.TimedRotatingFileHandler
formatter=default
args=('logs/logger_dev.log', 'W0', 1, 100)

[handler_default]
class=StreamHandler
formatter=default
args=(sys.stdout,)

[logger_app]
level=NOTSET
handlers=frotate
qualname=app

[logger_root]
level=NOTSET
handlers=default

Zusammenfassung

Ich habe kurz die Mindestnutzung des Protokollierungsmoduls vorgestellt. Wenn Sie weitere Informationen benötigen, lesen Sie bitte die in [Referenz] eingeführten Dokumente (siehe #).

Referenz

Recommended Posts

Mindestkenntnisse, um mit dem Python-Protokollierungsmodul zu beginnen
Link, um mit Python zu beginnen
Erste Schritte mit Python
Der einfachste Weg, um mit Django zu beginnen
Zubu Amateur will Python starten
Beginnen Sie mit Python! ~ ② Grammatik ~
Ich habe versucht, mit Blenders Python script_Part 01 zu beginnen
Ich habe versucht, mit Blenders Python script_Part 02 zu beginnen
So starten Sie das Python-Projekt im Jahr 2020 (Windows WSL und Mac Common)
Beginnen Sie mit Python! ~ ① Umweltbau ~
Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich das Wetter mit Python-Anfragen 2
So erhalten Sie die Python-Version
Wie fange ich mit Scrapy an?
Wie fange ich mit Django an?
So gelangen Sie mit Vagrant in die Python-Entwicklungsumgebung
Beginnen Sie mit Python mit Blender
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Führen Sie das Programm aus, ohne eine Python-Umgebung zu erstellen! !! (Erste Schritte mit Google Colaboratory)
Erste Schritte mit dem Python-Framework Django unter Mac OS X.
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ich habe am Wochenende versucht, mit Bitcoin Systre zu beginnen
Der schnellste Weg, um regelmäßig Kamerabilder mit Pythons OpenCV zu erhalten
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Schritt Notizen, um mit Django zu beginnen
Erste Schritte mit Python3 # 1 Grundkenntnisse erlernen
Ich habe versucht, mit Hy anzufangen
[Python] Ruft den Variablennamen mit str ab
Erste Schritte mit dem Dokumentationstool Sphinx
Beginnen wir mit TopCoder in Python (Version 2020)
Wie Python-Anfänger mit Progete beginnen
Der Weg zum Kompilieren zu Python 3 mit Thrift
[Blender x Python] Beginnen wir mit Blender Python !!
[Python] Um mit Python zu beginnen, müssen Sie zunächst sicherstellen, dass Sie Python ordnungsgemäß verwenden können.
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich erhalte einen Python No-Modul mit dem Namen 'Encodings' mit dem Befehl aws
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Python-Handspiel (Beginnen wir mit AtCoder?)
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Der einfachste Weg, um Stimme mit Python zu synthetisieren
Versuchen Sie, das Mensch-Maschine-Diagramm mit Python zu lösen
Einführung in Tornado (1): Python Web Framework mit Tornado gestartet
Geben Sie die ausführbare Python-Datei an, die mit virtualenv verwendet werden soll
Begrüßen Sie die Welt mit Python mit IntelliJ
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Der einfachste Weg, OpenCV mit Python zu verwenden
Angeben des Modulladeziels mit GAE-Python
Einführung in Python mit Atom (unterwegs)
So erhalten Sie die Dateien im Ordner [Python]
[Python] Ein grobes Verständnis des Protokollierungsmoduls
Wissensnotizen erforderlich, um das Python-Framework zu verstehen
Materialien zum Lesen, wenn Sie mit Python beginnen
[Cloud102] # 1 Erste Schritte mit Python (Teil 1 Python Erste Schritte)
[Minimale Konfiguration] Verwenden Sie das Kissenmodul von Python, um die Zeichen "100 Yen" mit dem Bild von Tapioka-Milchtee zu synthetisieren.
Python-Skript zum Abrufen von Notizinformationen mit REAPER