import time import platform import os from flask import Flask from flask_cors import CORS from interfaces.resume import resume from interfaces.rocketmq import rocket import logging from logging.handlers import TimedRotatingFileHandler # from configs.nacos_bak import nacos_service_single app = Flask(__name__) app.config['JSON_AS_ASCII'] = False CORS(app, resources=r'/*') # nacos_service_single.start() # 注册蓝图 app.register_blueprint(resume, url_prefix='/resume') app.register_blueprint(rocket, url_prefix='/rocket') # 设置日志目录-----设置为当前脚本文件所在的目录下的 logs 目录。 log_directory = os.path.join(os.path.dirname(__file__), 'logs') os.makedirs(log_directory, exist_ok=True) # 配置日志 formatter = logging.Formatter("[%(asctime)s][%(filename)s:%(lineno)d][%(levelname)s][%(thread)d] - %(message)s") handler = TimedRotatingFileHandler(os.path.join(log_directory, "flask.log"), when="midnight", interval=1, backupCount=15, encoding="UTF-8") handler.setFormatter(formatter) app.logger.addHandler(handler) app.logger.setLevel(logging.DEBUG) # 立即轮转日志文件 try: handler.doRollover() except Exception as e: app.logger.error(f"Failed to rollover log file: {e}") # 启动应用 def run_app(): plat = platform.system().lower() if plat == 'windows': app.run(host='0.0.0.0', port=3333, debug=True, use_reloader=True) elif plat == 'linux': app.run(host='0.0.0.0', port=3333, debug=False, processes=3) if __name__ == '__main__': run_app()