# -*- coding: utf-8 -*- import logging from pathlib import Path import uvicorn from fastapi import FastAPI from loguru import logger from app.api.routers import targets, equipment, space, item from app.core.config import settings from app.core.logger import InterceptHandler logging.getLogger().handlers = [InterceptHandler()] logger.add(Path(settings.LOGS_DIR, 'env_fastapi.log'), level='INFO', rotation='00:00', encoding='utf-8') app = FastAPI(title=settings.PROJECT_NAME) app.include_router(targets.router, prefix='/target', tags=['targets']) app.include_router(space.router, prefix='/room', tags=['spaces']) app.include_router(equipment.router, prefix='/equip', tags=['equipment']) app.include_router(item.router, prefix='/item', tags=['items']) @app.get('/settings') async def info(): return { 'logs_dir': settings } if __name__ == '__main__': uvicorn.run(app, host='0.0.0.0', port=8000)