main.py 923 B

123456789101112131415161718192021222324252627282930313233
  1. # -*- coding: utf-8 -*-
  2. import logging
  3. from pathlib import Path
  4. import uvicorn
  5. from fastapi import FastAPI
  6. from loguru import logger
  7. from app.api.routers import targets, equipment, space, item
  8. from app.core.config import settings
  9. from app.core.logger import InterceptHandler
  10. logging.getLogger().handlers = [InterceptHandler()]
  11. logger.add(Path(settings.LOGS_DIR, 'env_fastapi.log'), level='INFO', rotation='00:00', encoding='utf-8')
  12. app = FastAPI(title=settings.PROJECT_NAME)
  13. app.include_router(targets.router, prefix='/target', tags=['targets'])
  14. app.include_router(space.router, prefix='/room', tags=['spaces'])
  15. app.include_router(equipment.router, prefix='/equip', tags=['equipment'])
  16. app.include_router(item.router, prefix='/item', tags=['items'])
  17. @app.get('/settings')
  18. async def info():
  19. return {
  20. 'logs_dir': settings
  21. }
  22. if __name__ == '__main__':
  23. uvicorn.run(app, host='0.0.0.0', port=8000)