You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:05:56