[PYTHON] J'étais accro à essayer logging.getLogger avec Flask 1.1.x

Conclusion

Lors de la sortie de journaux sans toucher l'instance d'application, Après avoir fait référence à ʻapp.loggermême une fois, Obtenez l'enregistreur aveclogging.getLogger (" app ")`.

Note

En gros, vous pouvez sortir le journal avec ʻapp.logger` comme ceci.

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.

Cela fonctionne normalement. Mais je ne veux pas toucher l'application à partir de sources autres que principales Récupérez le logger avec logging.getLogger. J'ai regardé l'article qui est sorti sur Google et j'ai fait ce qui suit.

index.py


import logging 

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

Pas bien. C'est une sortie, mais rien n'est formaté, tout comme print.

En regardant la documentation 1.1.x, les spécifications ont changé. Il semble qu'un enregistreur soit enregistré avec le même nom que ʻapp.name. Puisque le nom du fichier source principal est ʻapp.py et que l'initialisation est Flask (__ nom __) Vous devriez pouvoir l'obtenir avec getLogger (" app ").

index.py


import logging 

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

Pour une raison quelconque, ce n'est pas bon non plus. La sortie n'a pas été formatée.

À la suite de divers ajustements, cela a fonctionné de cette façon.

app.py


from flask import Flask

app = Flask(__name__)
app.logger.warning("Connectez-vous une fois de manière appropriée")

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

J'étais accro à essayer logging.getLogger avec Flask 1.1.x
J'étais accro à Flask sur dotCloud
J'étais accro au grattage avec Selenium (+ Python) en 2020
J'étais accro au multitraitement + psycopg2
Après avoir implémenté l'application Watson IoT Platform avec Flask, j'étais accro à la connexion MQTT
J'étais accro à pip installer mysqlclient
J'étais accro aux variables de classe et aux variables d'instance erronées en Python
Ce que j'étais accro à Python autorun
Une histoire à laquelle j'étais accro à essayer d'installer LightFM sur Amazon Linux
Le nom du fichier était mauvais en Python et j'étais accro à l'importation
J'étais accro à essayer Cython avec PyCharm, alors prenez note
[Introduction à json] Non, j'en étais accro. .. .. ♬
Ce à quoi j'étais accro lors de la création d'applications Web dans un environnement Windows
Docker x Visualization ne fonctionnait pas et j'en étais accro, alors je l'ai résumé!
Je veux faire la transition avec un bouton sur le ballon
Une histoire à laquelle j'étais accro chez np.where
Ce à quoi j'étais accro lors de l'utilisation de Python tornado
Notez que j'étais accro au script npm ne passant pas dans l'environnement de vérification
[IOS] Animation GIF avec Pythonista3. J'en étais accro.
Ce à quoi j'étais accro lorsque l'utilisateur de traitement est passé à Python
[Réparer] J'étais accro au jugement alphanumérique des chaînes Python
Quand j'ai essayé d'installer PIL et matplotlib dans un environnement virtualenv, j'en étais accro.
Ce à quoi j'étais accro en traitant d'énormes fichiers dans un environnement Linux 32 bits
Une histoire à laquelle j'étais accro en spécifiant nil comme argument de fonction dans Go
Une histoire à laquelle j'étais accro à appeler Lambda depuis AWS Lambda.
Quand j'ai essayé de gratter en utilisant des requêtes en python, j'étais accro à SSLError, donc un mémo de contournement
Le record auquel j'étais accro en mettant MeCab dans Heroku
J'étais accro au déploiement de GoogleCloudFunctions (le codec 'ascii' ne peut pas encoder le caractère u '\ u281b' en position 58 apparaît)
Ce à quoi j'étais accro en présentant ALE à Vim pour Python
Une note à laquelle j'étais accro lors de l'émission d'un bip sous Linux
Notez que j'étais accro à l'interpolation des valeurs manquantes de sklearn (Imputer)
Une note à laquelle j'étais accro lors de la création d'une table avec SQL Alchemy
Lorsque j'ai mis Django dans mon répertoire personnel, je suis devenu accro à un fichier statique avec une erreur d'autorisation
L'intelligence de Numpy (saisie complète) est incomplète dans VS Code et j'étais légèrement accro à la solution
Deux choses dont j'étais accro à la construction de Django + Apache + Nginx sous Windows
J'étais accro à la création d'un environnement Python venv avec VS Code
Utilisez Python de Java avec Jython. J'étais aussi accro.
J'étais accro à ne pas pouvoir utiliser Markdown pour la description longue de pypi
[Python] J'ai été accro pendant une heure à essayer d'utiliser la notation d'inclusion de liste
Un mémorandum parce que j'ai trébuché en essayant d'utiliser MeCab avec Python
J'ai essayé d'implémenter PLSA en Python
J'ai essayé d'implémenter la permutation en Python
J'ai essayé d'implémenter PLSA dans Python 2
Connaissances minimales pour utiliser Form avec Flask
Je voulais résoudre ABC159 avec Python
J'ai essayé d'implémenter PPO en Python
Je veux intégrer Matplotlib dans PySimpleGUI
Implémentation de DQN avec TensorFlow (je voulais ...)
J'ai eu une erreur en essayant d'exécuter Hello World en langue Go
Trois choses auxquelles j'étais accro lors de l'utilisation de Python et MySQL avec Docker
AtCoder AGC 041 C - J'étais accro à la recherche complète de Domino Quality
Je suis accro à la différence dans la façon dont Flask et Django reçoivent les données JSON
Une note à laquelle j'étais accro lors de l'exécution de Python avec Visual Studio Code
Une histoire à laquelle j'étais accro après la communication SFTP avec python
Notez que j'étais accro à la configuration de TensowFlow
Je veux faire le test de Dunnett en Python
Je veux corriger Datetime.now dans le test de Django
Essayez d'utiliser Blueprint avec Flask pour séparer les contrôleurs
Je veux créer une fenêtre avec Python