[PYTHON] Ich war süchtig danach, logging.getLogger mit Flask 1.1.x zu versuchen

Fazit

Wenn Sie Protokolle ausgeben, ohne die App-Instanz zu berühren, Nachdem Sie einmal auf "app.logger" verwiesen haben, Holen Sie sich den Logger mit logging.getLogger (" app ").

Memo

Grundsätzlich können Sie das Protokoll mit app.logger wie folgt ausgeben.

app.py


from flask import Flask

app = Flask(__name__)

app.logger.warning("This is warning message.")
# => [2020-02-21 14:35:09,642] WARNING in app: This is warning message.

Dies funktioniert normal. Aber ich möchte die App nicht aus anderen Quellen als main berühren Holen Sie sich den Logger mit logging.getLogger. Ich schaute auf den Artikel, der gegoogelt herauskam und tat wie folgt.

index.py


import logging 

log = logging.getLogger("flask.app")
log.warning("This is warning message.")
# => This is warning message.

Nicht gut. Es wird ausgegeben, aber nichts wird formatiert, genau wie "Drucken".

In der 1.1.x-Dokumentation haben sich die Spezifikationen geändert. Es scheint, dass der Logger mit demselben Namen wie "app.name" registriert ist. Da der Name der Hauptquelldatei "app.py" lautet und die Initialisierung "Flask (__ name__)" lautet Sie sollten es mit getLogger (" app ") bekommen können.

index.py


import logging 

log = logging.getLogger("app")
log.warning("This is warning message.")
# => This is warning message.

Aus irgendeinem Grund ist das auch nicht gut. Die Ausgabe wurde nicht formatiert.

Aufgrund verschiedener Optimierungen funktionierte es auf diese Weise.

app.py


from flask import Flask

app = Flask(__name__)
app.logger.warning("Einmal richtig anmelden")

index.py


import logging 

log = logging.getLogger("app")
log.warning("This is warning message.")
# => [2020-02-21 14:35:09,642] WARNING in index: This is warning message.

Recommended Posts

Ich war süchtig danach, logging.getLogger mit Flask 1.1.x zu versuchen
Ich war auf dotCloud süchtig nach Flask
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Ich war süchtig nach Multiprocessing + Psycopg2
Nachdem ich die Watson IoT Platform-Anwendung mit Flask implementiert hatte, war ich süchtig nach MQTT-Verbindungen
Ich war süchtig danach, mysqlclient zu installieren
Ich war süchtig nach falschen Klassenvariablen und Instanzvariablen in Python
Was ich süchtig nach Python Autorun war
Eine Geschichte, die mich süchtig nach dem Versuch machte, LightFM unter Amazon Linux zu installieren
Der Dateiname war in Python schlecht und ich war süchtig nach Import
Ich war süchtig danach, Cython mit PyCharm auszuprobieren, also machen Sie sich eine Notiz
[Einführung in json] Nein, ich war süchtig danach. .. .. ♬
Wovon ich beim Erstellen von Webanwendungen in einer Windows-Umgebung abhängig war
Docker x Visualization hat nicht funktioniert und ich war süchtig danach, also habe ich es zusammengefasst!
Ich möchte mit einem Knopf am Kolben übergehen
Eine Geschichte, von der ich bei np.where süchtig war
Wovon ich süchtig war, als ich Python Tornado benutzte
Beachten Sie, dass ich süchtig nach dem npm-Skript war, das in der Überprüfungsumgebung nicht übergeben wurde
[IOS] GIF-Animation mit Pythonista3. Ich war süchtig danach.
Wovon ich süchtig war, als der Processing-Benutzer zu Python wechselte
[Fix] Ich war süchtig nach dem alphanumerischen Urteil über Python-Strings
Als ich versuchte, PIL und matplotlib in einer virtuellen Umgebung zu installieren, war ich süchtig danach.
Wovon ich süchtig war, als ich mit riesigen Dateien in einer Linux 32-Bit-Umgebung umging
Eine Geschichte, nach der ich süchtig war, als ich in Go nil als Funktionsargument angab
Eine Geschichte, die ich süchtig danach war, Lambda von AWS Lambda anzurufen.
Als ich versuchte, mithilfe von Anforderungen in Python zu kratzen, war ich süchtig nach SSLError, also einem Workaround-Memo
Die Platte, von der ich süchtig war, als ich MeCab in Heroku einsetzte
Ich war süchtig nach der Bereitstellung von Google Cloud-Funktionen (der Codec 'ascii' kann das Zeichen u '\ u281b' an Position 58 nicht codieren).
Wovon ich süchtig war, als ich ALE in Vim für Python einführte
Ein Hinweis, von dem ich süchtig war, als ich unter Linux einen Piepton machte
Beachten Sie, dass ich süchtig nach der fehlenden Wertinterpolation von sklearn war (Imputer)
Ein Hinweis, dem ich beim Erstellen einer Tabelle mit SQL Alchemy verfallen war
Als ich Django in mein Home-Verzeichnis legte, wurde ich mit einem Berechtigungsfehler in eine statische Datei eingebunden
Numpys Intelligenz (Eingabevervollständigung) ist in VS Code unvollständig und ich war leicht süchtig nach der Lösung
Zwei Dinge, die ich süchtig danach war, Django + Apache + Nginx unter Windows zu erstellen
Ich war süchtig danach, eine Python-Venv-Umgebung mit VS Code zu erstellen
Verwenden Sie Python aus Java mit Jython. Ich war auch süchtig danach.
Ich war süchtig danach, Markdown nicht für die lange Beschreibung von Pypi verwenden zu können
[Python] Ich war eine Stunde lang begeistert, als ich versuchte, die Listeneinschlussnotation zu verwenden
Ein Memorandum, weil ich beim Versuch, MeCab mit Python zu verwenden, gestolpert bin
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, Permutation in Python zu implementieren
Ich habe versucht, PLSA in Python 2 zu implementieren
Mindestkenntnisse zur Verwendung von Form with Flask
Ich wollte ABC159 mit Python lösen
Ich habe versucht, PPO in Python zu implementieren
Ich möchte Matplotlib in PySimpleGUI einbetten
DQN mit TensorFlow implementiert (ich wollte ...)
Beim Versuch, Hello World in der Sprache Go auszuführen, ist eine Fehlermeldung aufgetreten
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete
AtCoder AGC 041 C - Ich war süchtig nach der vollständigen Suche nach Domino-Qualität
Ich bin süchtig nach dem Unterschied, wie Flask und Django JSON-Daten empfangen
Ein Hinweis, dem ich beim Ausführen von Python mit Visual Studio Code verfallen war
Eine Geschichte, der ich nach der SFTP-Kommunikation mit Python verfallen war
Beachten Sie, dass ich süchtig danach war, TensowFlow einzurichten
Ich möchte Dunnetts Test in Python machen
Ich möchte Datetime.now in Djangos Test reparieren
Versuchen Sie, Blueprint with Flask zu verwenden, um Controller zu trennen
Ich möchte mit Python ein Fenster erstellen