迷你HTML本地测试小工具
class WebIndexApp: """Web索引Flask应用类""" def __init__(self, host="0.0.0.0", port=80, debug=True, threaded=True): self.host = host self.port = port self.debug = debug self.threaded = threaded # 创建Flask应用 self.app = Flask(__name__) # 配置日志 self._setup_logging() # 注册路由 self._register_routes() def _setup_logging(self): """配置日志系统""" # 滚动日志文件,记录所有局域网访问记录 log_handler = RotatingFileHandler( "access.log", maxBytes=1024 * 1024, # 单文件最大1MB backupCount=5, # 最多保存5个日志备份 encoding="utf-8" ) log_handler.setLevel(logging.INFO) # 捕获werkzeug底层服务器访问日志 werkzeug_log = logging.getLogger("werkzeug") werkzeug_log.addHandler(log_handler) self.app.logger.addHandler(log_handler) def _register_routes(self): """注册路由接口""" @self.app.route("/") def index(): # 获取当前执行该请求的线程ID,用来证明多线程并发 thread_id = threading.get_ident() print(f"当前处理请求线程ID:{thread_id}") # 模拟耗时操作(测试并发效果,sleep会阻塞当前线程,多线程下互不影响) # import time # time.sleep(3) return render_template("index.html") def run(self): """启动Web服务""" self.app.run( host=self.host, port=self.port, debug=self.debug, threaded=self.threaded )