在Flask中:如何在Blueprint中访问app Logger

Gal*_*cha 41 python logging flask

蓝图访问应用程序记录器的标准方法是什么?

Gal*_*cha 87

在蓝图内添加:

from flask import current_app
Run Code Online (Sandbox Code Playgroud)

并在需要时致电:

current_app.logger.info('grolsh')
Run Code Online (Sandbox Code Playgroud)

  • 据我了解,这只会在请求期间有效吗? (7认同)
  • 我已将代码添加到我的蓝图路由文件中,但既没有记录到控制台也没有记录到文件。 (2认同)

suz*_*kya 13

顺便说一句,我使用这种模式:

# core.py
from werkzeug.local import LocalProxy
from flask import current_app

logger = LocalProxy(lambda: current_app.logger)


# views.py
from core import logger

@mod.route("/")
def index():
    logger.info("serving index")
    ...
Run Code Online (Sandbox Code Playgroud)

  • 你的代码有什么意义? (2认同)