与更通用的python日志模块相比,flask.logger有什么优势?
我正在使用Flask构建一个网站,现在我正在为它添加一些日志,我发现了一些日志。基本示例如下:与更通用的python日志模块相比,flask.logger有什么优势?,python,logging,flask,Python,Logging,Flask,我正在使用Flask构建一个网站,现在我正在为它添加一些日志,我发现了一些日志。基本示例如下: if not app.debug: import logging from themodule import TheHandlerYouWant file_handler = TheHandlerYouWant(...) file_handler.setLevel(logging.WARNING) app.logger.addHandler(file_handl
if not app.debug:
import logging
from themodule import TheHandlerYouWant
file_handler = TheHandlerYouWant(...)
file_handler.setLevel(logging.WARNING)
app.logger.addHandler(file_handler)
之后,您可以使用app.logger.error(“发生错误”)
进行日志记录。这很好,但除了我没有看到比常规python日志模块有任何优势之外,我还看到了一个主要的缺点:如果我想在请求上下文之外进行日志记录(例如,当使用cron作业运行一些代码时),我会出错,因为我在请求上下文之外使用应用程序
所以我的主要问题是,;我为什么要用烧瓶记录器呢?构建它的原因是什么?Flask logger使用“通用”Python日志,它是一个logging.getLogger(name)
,与其他日志一样
记录器的存在使得Flask应用程序和视图可以记录执行期间发生的事情。例如,它将在调试模式期间记录500个错误的回溯。这里的配置示例演示了如何在不处于调试模式时启用这些日志,这些日志在生产中仍然很有用
拥有一个内部记录器并不是Flask独有的,它是在Python中使用日志记录的标准方式。每个模块都定义了自己的记录器,但是日志的配置只由链中的最后一个链接处理:您的项目
您也可以对自己的消息使用app.logger
,尽管这不是必需的。您还可以为自己的消息创建一个单独的记录器。最后,一切都是Python日志记录