monitoring/app.py

46 lines
1.5 KiB
Python

# _*_ coding: utf-8 _*_
# @Time :2022/5/26 09:23
# @Email :508737091@qq.com
# @Author :qiangyanwen
# @File :app.py
from fastapi import FastAPI
from config.log import logger
from router import routers
from config import settings
from utils.system import host
from fastapi.middleware.cors import CORSMiddleware
def loading_router_middleware(app: FastAPI):
[app.include_router(router) for router in routers]
logger.info("Adding a New route success")
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
logger.info("loading middleware success")
def create_app() -> FastAPI:
logger.info("loading application configuration")
logger.info("create FastApi app object")
app = FastAPI(
debug=settings.PROJECT.DEBUG,
title=settings.SWAGGER.TITLE,
description=settings.SWAGGER.DESCRIPTION,
version="v1"
)
loading_router_middleware(app)
if settings.PROJECT.DEBUG:
logger.info("Application started successfully:{}".format(CORSMiddleware.__name__))
logger.info(f"Server address http://127.0.0.1:{settings.PROJECT.PORT}")
logger.info(f"Api doc address http://127.0.0.1:{settings.PROJECT.PORT}{settings.SWAGGER.DOCS_URL}")
logger.info(f"Api redoc address http://127.0.0.1:{settings.PROJECT.PORT}{settings.SWAGGER.REDOC_URL}")
return app
__all__ = ["create_app"]