Flask 使用日志

 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

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值