Flask 自带 log 模块,以下方法是在blueprint 中调用的log 记录,首先在create_app() 配置好log
def create_app():
app = Flask(__name__)
#配置log
formatter = logging.Formatter(
"[%(asctime)s][%(filename)s:%(lineno)d][%(levelname)s][%(thread)d] - %(message)s")
handler = TimedRotatingFileHandler(
"flask.log", when="D", interval=1, backupCount=15,
encoding="UTF-8", delay=False, utc=True)
app.logger.addHandler(handler)
handler.setFormatter(formatter)
return app
- when=D: 表示按天进行切分
- interval=1: 每天都切分。 比如interval=2就表示两天切分一下。
- backupCount=15: 保留15天的日志
- encoding=UTF-8: 使用UTF-8的编码来写日志
- utc=True: 使用UTC+0的时间来记录 (一般docker镜像默认也是UTC+0)
我在登录仲记录一下log
if form.validate_on_submit():
email = request.form.get('email')
password = request.form.get('password')
password = hashlib.md5(password.encode(encoding='utf-8')).hexdigest()
user = User.query.filter_by(email=email,password=password).first()
if user:
flash('Welcome Back.','info')
login_user(user)
current_app.logger.info("user: "+email+" Login")
return redirect(url_for('admin.home'))
else:
flash('Invalid username or password.', 'warning')
return render_template('auth/login.html',form=form)
else:
flash(form.password.errors, 'warning')
return render_template('auth/login.html',form=form)
其中 current_app.logger.info(“user: “+email+” Login”) 就是记录到log 中,接着可以在根目录就看到flask.log
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97971.html