软硬件环境
windows 10 64bit
anaconda3 with python 3.7
pycharm 2020.1.2
flask 1.1.2
简介
flask日志使用标准的python``logging。所有与flask相关的消息都用app.logger来记录,同样的,这个日志记录器也可用于你自己的日志记录。
logging是python自带的系统模块,在 python实用模块 板块,我们已经介绍过它的使用方法,不了解的童鞋可以去看看,链接是 https://xugaoxiang.com/2019/12/04/python-module-logging/
日志配置
在flask中,不用任何配置就可以使用app.logger,如下示例
@app.route('/login', methods=['POST'])
默认情况下,flask会自动添加一个StreamHandler到app.logger。在请求过程中,它会写到由WSGI服务器指定的,保存在environ['wsgi.errors']变量中的日志流(通常是sys.stderr)中。在请求之外,则会记录到sys.stderr。
如果你对日志默认配置不太满意的话,可以自行设置。当想要为项目配置日志时,应当在创建应用对象之前进行配置。如果晚了,那么app.logger就会成为缺省记录器。下面我们使用logging.config.dictConfig来配置日志,看示例
from flask import Flask
上面是一个将日志写入文件的配置示例,当日志文件大小大于10M后,就用一个新的文件来存放日志,总的日志文件数目是50个。debug的信息写入debug.log,info的信息写入info.log,error的信息写入error.log。日志中每一行的内容是这样的
{"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"}
各字段分别对应,日志时间 - 模块 - 日志等级 - 具体的日志内容

flask-logging
源码下载
https://github.com/xugaoxiang/FlaskTutorial
本文分享自微信公众号 - 迷途小书童的Note(Dev_Club)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。


