# flask_app/start_up.py import logging from flask import Flask, request, jsonify from flask_app.logger_setup import CSTFormatter, create_logger from flask_app.routes.get_deviation import get_deviation_bp from flask_app.routes.little_zbparse import little_zbparse_bp from flask_app.routes.upload import upload_bp from flask_app.routes.routes import register_routes from flask_app.routes.test_zbparse import test_zbparse_bp def create_app(): app = Flask(__name__) # 设置日志的全局配置(如果需要) handler = logging.StreamHandler() handler.setFormatter(CSTFormatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')) app.logger.addHandler(handler) app.logger.setLevel(logging.INFO) @app.before_request def before_request(): """ 每个请求开始前初始化 logger 和 output_folder, 根据请求的端点选择不同的子文件夹。 """ # 确定当前请求的端点 blueprint = request.blueprint # 映射端点到子文件夹 subfolder_map = { 'get_deviation': 'output3', 'little_zbparse': 'output2', 'upload': 'output1', 'test_zbparse': 'test_output' } # 获取对应的子文件夹,默认为 'output1' subfolder = subfolder_map.get(blueprint, 'output1') # 创建 logger 和 output_folder create_logger(app, subfolder) # 注册蓝图 app.register_blueprint(get_deviation_bp) app.register_blueprint(little_zbparse_bp) app.register_blueprint(upload_bp) app.register_blueprint(test_zbparse_bp) register_routes(app) return app #TODO:培训要求、总体要求、进度要求、'建设要求'到技术要求中,归类到其他要求中 #TODO:接口设置排队 if __name__ == '__main__': app = create_app() app.run(debug=True, host='0.0.0.0', port=5001)