61 lines
1.5 KiB
Python
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 |