Logging 如何在flask视图中使用应用程序日志,它返回无法导入名称日志
我想把烧瓶项目变成大型项目结构 所以我找到了如下示例项目Logging 如何在flask视图中使用应用程序日志,它返回无法导入名称日志,logging,flask,Logging,Flask,我想把烧瓶项目变成大型项目结构 所以我找到了如下示例项目 ~/LargeApp |-- run.py |-- config.py |__ /env # Virtual Environment |__ /app # Our Application Module |-- __init__.py |-- /module_one |-- __init__.py |-- views.py
~/LargeApp
|-- run.py
|-- config.py
|__ /env # Virtual Environment
|__ /app # Our Application Module
|-- __init__.py
|-- /module_one
|-- __init__.py
|-- views.py
|-- models.py
|__ /templates
|__ /module_one
|-- hello.html
|__ /static
|__ ..
|__ .
|__ ..
|__ .
我在/app/init.py中编写create_app函数
def create_app():
app = Flask(__name__)
app.config.from_object(os.environ['APP_SETTINGS'])
app.logger = my_get_logger_function() # this function set log level, and add handler to logger and return logger
db.init_app(app)
from .module_one.views import mod as module_one_blueprint
app.register_blueprint(module_one_blueprint)
return app
我想在my/app/module_one/views.py中使用logger,
以下是my views.py文件
from app import logger
...
@mod.route('/test/', methods=['GET'])
def test():
logger.info('test')
但当我运行时,收到消息“ImportError:cannotimportname”logger”
我知道这是因为我在创建应用程序之前调用了views.py中的logger
但是我真的不知道如何修复它以及如何设计我的项目真的错误是因为您没有在模块
应用程序中定义名称记录器
。如果你想使用应用程序记录器,你应该从flask
导入当前的应用程序,它是你的应用程序的实例,如下所示:
from flask import current_app
然后,在您看来,您可以使用记录器:
current_app.logger.info('Your message')
尝试以下操作:从flask.logging导入日志记录
我也有这个问题,我不知道为什么,但我试过了,效果很好。谢谢!!!我想我真是个白痴。我发现这是另一页。但我尝试“从应用程序导入当前应用程序”。。。我不知道为什么我没有找到烧瓶。。。