Flask 终端输出到log
在开发和部署Flask应用程序时,我们经常需要查看应用程序的日志信息,以便跟踪应用程序的运行情况和排查问题。在Flask中,默认情况下,日志信息会输出到终端上,但有时我们希望将日志信息输出到日志文件中,以便更好地管理和查看。
本文将介绍如何在Flask应用程序中将日志信息输出到log文件中,以便更好地记录和查看应用程序的日志信息。
1. 配置日志输出到log文件
首先,我们需要在Flask应用程序中进行配置,将日志信息输出到log文件中。在Flask中,我们可以使用Python内置的logging模块来实现。
import logging
from logging.handlers import RotatingFileHandler
from flask import Flask
app = Flask(__name__)
# 配置日志信息格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 创建RotatingFileHandler,将日志信息输出到log文件中
file_handler = RotatingFileHandler('flask.log', maxBytes=1024*1024, backupCount=10)
file_handler.setFormatter(formatter)
file_handler.setLevel(logging.INFO)
# 将file_handler添加到app的日志处理器中
app.logger.addHandler(file_handler)
在上面的代码中,我们首先导入logging模块和RotatingFileHandler类,然后创建了一个Flask应用程序对象。接着,我们配置了日志信息的格式,定义了一个Formatter对象。然后,创建了一个RotatingFileHandler对象,该对象将日志信息输出到名为flask.log
的文件中,最大文件大小为1MB,最多保留10个备份日志文件。最后,将file_handler添加到Flask应用程序的日志处理器中。
2. 输出日志信息
接下来,我们可以在Flask应用程序的路由函数或其他地方使用logging模块记录日志信息。
@app.route('/')
def index():
app.logger.info('访问了首页')
return 'Hello, World!'
在上面的代码中,我们在/
路由函数中记录了一条日志信息:“访问了首页”。我们使用app.logger
的info
方法记录了一条INFO级别的日志信息。
3. 运行Flask应用程序并查看log文件
最后,我们可以运行Flask应用程序,并查看log文件中的日志信息。
$ python app.py
在运行Flask应用程序之后,我们可以在命令行中查看flask.log
文件,看到刚才记录的日志信息:
2019-08-28 16:15:13,398 - flask.app - INFO - 访问了首页
通过这种方式,我们可以将Flask应用程序的日志信息输出到log文件中,更好地记录和查看应用程序的日志信息,以便及时发现和解决问题。
总结:
本文介绍了如何配置Flask应用程序,将日志信息输出到log文件中。通过使用Python的logging模块和RotatingFileHandler类,我们可以方便地记录和查看Flask应用程序的日志信息。