CostPrediction/run.py
2024-11-08 23:43:57 +08:00

61 lines
1.5 KiB
Python

import os
import logging
from src.app import app
# 确保必要的目录存在
def ensure_directories():
"""
确保所有必要的目录都存在
"""
directories = [
'logs',
'data',
'models',
'uploads'
]
for directory in directories:
os.makedirs(directory, exist_ok=True)
# 配置日志
def setup_logging():
"""
配置日志系统
"""
logging.basicConfig(
filename='logs/server.log',
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
# 同时输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
logging.getLogger('').addHandler(console_handler)
if __name__ == "__main__":
try:
# 初始化目录
ensure_directories()
# 设置日志
setup_logging()
# 记录启动信息
logging.info("=== Server Starting ===")
logging.info("Initializing directories...")
logging.info("Setting up logging system...")
# 启动服务器
app.run(
host='localhost',
port=5001,
debug=True,
use_reloader=False # 禁用重载器以避免模型重复加载
)
except Exception as e:
logging.error(f"Server failed to start: {str(e)}")
raise