app.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import time
  2. import platform
  3. import os
  4. from flask import Flask
  5. from flask_cors import CORS
  6. from interfaces.resume import resume
  7. from interfaces.rocketmq import rocket
  8. import logging
  9. from logging.handlers import TimedRotatingFileHandler
  10. app = Flask(__name__)
  11. app.config['JSON_AS_ASCII'] = False
  12. CORS(app, resources=r'/*')
  13. # nacos_service_single.start()
  14. # 注册蓝图
  15. app.register_blueprint(resume, url_prefix='/resume')
  16. app.register_blueprint(rocket, url_prefix='/rocket')
  17. # 设置日志目录-----设置为当前脚本文件所在的目录下的 logs 目录。
  18. log_directory = os.path.join(os.path.dirname(__file__), 'logs')
  19. os.makedirs(log_directory, exist_ok=True)
  20. # 配置日志
  21. formatter = logging.Formatter("[%(asctime)s][%(filename)s:%(lineno)d][%(levelname)s][%(thread)d] - %(message)s")
  22. handler = TimedRotatingFileHandler(os.path.join(log_directory, "flask.log"), when="midnight", interval=1, backupCount=15, encoding="UTF-8")
  23. handler.setFormatter(formatter)
  24. app.logger.addHandler(handler)
  25. app.logger.setLevel(logging.DEBUG)
  26. # 立即轮转日志文件
  27. try:
  28. handler.doRollover()
  29. except Exception as e:
  30. app.logger.error(f"Failed to rollover log file: {e}")
  31. # 启动应用
  32. def run_app():
  33. time.sleep(5)
  34. plat = platform.system().lower()
  35. if plat == 'windows':
  36. app.run(host='0.0.0.0', port=3333, debug=True, use_reloader=True)
  37. elif plat == 'linux':
  38. app.run(host='0.0.0.0', port=3333, debug=False, processes=1)
  39. if __name__ == '__main__':
  40. run_app()