如何禁用Flask/Werkzeug日志?SocketIO桌游服务日志优化求助
禁用Flask/Werkzeug访问日志并优化桌游网站性能
一、禁用访问日志
你看到的这些日志是Werkzeug(Flask默认WSGI服务器)和Flask-SocketIO的访问日志,通过调整日志级别即可关闭:
在run.py中添加日志配置代码,放在app = create_app()之后:
import logging # 将Flask应用日志级别设为WARNING,仅输出警告及以上信息 app.logger.setLevel(logging.WARNING) # 禁用Werkzeug的访问日志 logging.getLogger('werkzeug').setLevel(logging.WARNING) # 可选:禁用Flask-SocketIO的冗余日志 logging.getLogger('socketio').setLevel(logging.WARNING) logging.getLogger('engineio').setLevel(logging.WARNING)
这样就能彻底关闭频繁的请求日志输出,节省服务器IO资源。
二、针对卡牌图片请求的优化建议
除了禁用日志,这些方法能大幅提升图片请求性能:
启用静态资源长期缓存:给卡牌图片设置超长缓存时间,让浏览器缓存本地副本,避免重复请求。可以在Flask中为静态资源路由添加缓存头:
from flask import send_from_directory @app.route('/static/cards/<path:filename>') def serve_card_images(filename): # 设置缓存有效期为1年(31536000秒) return send_from_directory('static/cards', filename, max_age=31536000)图片格式优化:将卡牌图片转换为WebP格式,相比JPG/PNG能减少30%-50%的文件大小,同时保持相近清晰度。前端用
<picture>标签兼容不支持WebP的浏览器:<picture> <source srcset="card.webp" type="image/webp"> <img src="card.jpg" alt="卡牌"> </picture>用反向代理处理静态文件:生产环境不要用Flask自带的Werkzeug服务器,改用Nginx或Apache作为反向代理,直接处理静态资源请求,性能比Flask自带服务器高几个量级,还能配置Gzip/Brotli压缩、缓存规则等。
图片懒加载:前端仅加载当前用户视野内的卡牌图片,滚动到对应区域再加载其余图片,减少初始请求量。可以用原生
loading="lazy"属性:<img src="card.jpg" alt="卡牌" loading="lazy">CDN加速:把卡牌图片上传到CDN服务商,让用户从就近节点获取资源,大幅降低网络延迟和服务器负载。
内容的提问来源于stack exchange,提问作者Emanuele Costanzo
相关产品推荐
相关产品推荐

