Error Handle
Debug Mode
set export FLASK_DEBUG=1
debug模式允许用户去在服务上远程运行代码。其第二个特性是reloader:当源码修改后,会自动重启应用程序
200(运行成功)
500(数据库错误)
Flask使用Python的logging包来写log,并且该包已经可以用来发送Log到email(SMTPHandler)。具体配置与实现,见代码
测试方法:
1.
打开第二个DOS窗口
(venv) $ python -m smtpd -n -c DebuggingServer localhost:8025
在原来的窗口(第一个DOS窗口)中输入
set MAIL_SERVER=localhost
set MAIL_PORT=8025
set FLASK_DEBUG=0
#error.py
from flask import render_template
from app import app, db
@app.errorhandler(404)
def not_found_error(error):
return render_template('404.html'), 404
@app.errorhandler(500)
def internal_error(error):
db.session.rollback()
return render_template('500.html'), 500
log输出到文件
from logging.handlers import RotatingFileHandler
if not os.path.exists('logs'):
os.mkdir('logs')
file_handler=RotatingFileHandler('logs/microblog.log', maxBytes=10240, ckupCount=10)#log文件名为microblog.log
file_handler.setFormatter(logging.Formatter(
'%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'))
#log格式,包含时间戳,log等级,信息和源文件和log在哪行
file_handler.setLevel(logging.INFO)
app.logger.addHandler(file_handler)
app.logger.setLevel(logging.INFO)
app.logger.info('Microblog startup')

浙公网安备 33010602011771号