Flask 使用日志

导读:本篇文章讲解 Flask 使用日志,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

 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

Flask 使用日志

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97971.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!