最近项目需要用到flask日志模块来记录日志,这里做下记录:
from flask import Flask
import logging
#导入日志模块
app = Flask(__name__)
# 日志系统配置
handler = logging.FileHandler('app.log', encoding='UTF-8')
#设置日志文件,和字符编码
logging_format = logging.Formatter(
'%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s')
handler.setFormatter(logging_format)
app.logger.addHandler(handler)
#设置日志存储格式,也可以自定义日志格式满足不同的业务需求
‘’‘使用路由捕获异常处理’‘’
@app.route('/')
def index():
try:
no_thing = []
i = no_thing[0] # 这里会报错,因为列表根本是空的
return 'Hello!'
except Exception as e:
app.logger.exception('%s', e)
if __name__ == '__main__':
app.run(debug=True)
如果我们希望打印堆栈
信息就可以像下面这样写:
a = [1, 2, 3]
try:
print a[3]
except Exception, e:
logging.exception(e)
message = 'the message is %s' % info
app.logger.info('message info is %s', message, exc_info=1)。
日志的记录是中大型项目必备的查找错误,查找bug问题的良好方式。