56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
X-Request 高性能FastAPI框架
|
||
主程序入口
|
||
"""
|
||
|
||
import uvicorn
|
||
import os
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
# 将src目录添加到Python路径
|
||
sys.path.insert(0, str(Path(__file__).parent / "src"))
|
||
|
||
from src.core import get_app
|
||
from src.config import settings
|
||
from src.utils import logger_manager
|
||
|
||
|
||
# 配置日志系统
|
||
logger_manager.configure(
|
||
log_level=settings.log_level,
|
||
log_format=settings.log_format,
|
||
log_file=settings.log_file,
|
||
log_to_console=settings.log_to_console
|
||
)
|
||
|
||
# 创建FastAPI应用(在模块级别,方便uvicorn导入)
|
||
app = get_app()
|
||
|
||
|
||
def main():
|
||
"""主函数"""
|
||
# 打印启动信息
|
||
print(f"[X-Request] 高性能FastAPI框架正在启动...")
|
||
print(f"[地址] 监听地址: {settings.host}:{settings.port}")
|
||
print(f"[文档] API文档: http://{settings.host}:{settings.port}/docs")
|
||
print(f"[健康] 健康检查: http://{settings.host}:{settings.port}/health")
|
||
print(f"[信息] 应用信息: http://{settings.host}:{settings.port}/info")
|
||
print(f"\n[成功] 应用已成功启动!按 Ctrl+C 停止服务器\n")
|
||
|
||
# 启动服务器
|
||
uvicorn.run(
|
||
app,
|
||
host=settings.host,
|
||
port=settings.port,
|
||
workers=1, # 简化配置,使用单进程
|
||
reload=False, # 禁用热重载
|
||
log_level="info", # 显示信息级别的日志
|
||
access_log=False, # 关闭访问日志
|
||
use_colors=True, # 启用颜色输出
|
||
)
|
||
|
||
|
||
if __name__ == "__main__":
|
||
main() |