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 avec
logging.getLogger (" app ")`.
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