2022-09-17 18:12:14 +00:00
|
|
|
import sys
|
|
|
|
import uvicorn
|
2023-10-23 14:47:11 +00:00
|
|
|
from uvicorn.main import logger
|
2022-11-08 15:50:28 +00:00
|
|
|
|
2023-10-23 14:47:11 +00:00
|
|
|
from settings import PORT
|
2022-12-03 07:37:45 +00:00
|
|
|
|
2022-11-20 03:16:56 +00:00
|
|
|
log_settings = {
|
2023-10-05 20:18:55 +00:00
|
|
|
"version": 1,
|
|
|
|
"disable_existing_loggers": True,
|
|
|
|
"formatters": {
|
|
|
|
"default": {
|
|
|
|
"()": "uvicorn.logging.DefaultFormatter",
|
|
|
|
"fmt": "%(levelprefix)s %(message)s",
|
|
|
|
"use_colors": None,
|
2022-11-20 03:16:56 +00:00
|
|
|
},
|
2023-10-05 20:18:55 +00:00
|
|
|
"access": {
|
|
|
|
"()": "uvicorn.logging.AccessFormatter",
|
|
|
|
"fmt": '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s',
|
2022-11-20 03:16:56 +00:00
|
|
|
},
|
|
|
|
},
|
2023-10-05 20:18:55 +00:00
|
|
|
"handlers": {
|
|
|
|
"default": {
|
|
|
|
"formatter": "default",
|
|
|
|
"class": "logging.StreamHandler",
|
|
|
|
"stream": "ext://sys.stderr",
|
2022-11-20 03:16:56 +00:00
|
|
|
},
|
2023-10-05 20:18:55 +00:00
|
|
|
"access": {
|
|
|
|
"formatter": "access",
|
|
|
|
"class": "logging.StreamHandler",
|
|
|
|
"stream": "ext://sys.stdout",
|
2022-11-20 03:16:56 +00:00
|
|
|
},
|
2023-10-05 20:18:55 +00:00
|
|
|
},
|
|
|
|
"loggers": {
|
|
|
|
"uvicorn": {"handlers": ["default"], "level": "INFO"},
|
|
|
|
"uvicorn.error": {"level": "INFO", "handlers": ["default"], "propagate": True},
|
|
|
|
"uvicorn.access": {"handlers": ["access"], "level": "INFO", "propagate": False},
|
|
|
|
},
|
2022-11-20 03:16:56 +00:00
|
|
|
}
|
|
|
|
|
2022-11-24 16:02:42 +00:00
|
|
|
local_headers = [
|
|
|
|
("Access-Control-Allow-Methods", "GET, POST, OPTIONS, HEAD"),
|
2023-10-10 06:35:27 +00:00
|
|
|
("Access-Control-Allow-Origin", "https://localhost:3000"),
|
2022-11-24 16:02:42 +00:00
|
|
|
(
|
|
|
|
"Access-Control-Allow-Headers",
|
|
|
|
"DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization",
|
|
|
|
),
|
|
|
|
("Access-Control-Expose-Headers", "Content-Length,Content-Range"),
|
|
|
|
("Access-Control-Allow-Credentials", "true"),
|
|
|
|
]
|
|
|
|
|
|
|
|
|
2023-10-23 14:47:11 +00:00
|
|
|
def exception_handler(_et, exc, _tb):
|
|
|
|
logger.error(..., exc_info=(type(exc), exc, exc.__traceback__))
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
sys.excepthook = exception_handler
|
|
|
|
if "dev" in sys.argv:
|
|
|
|
import os
|
2023-11-28 07:53:48 +00:00
|
|
|
|
2023-10-23 14:47:11 +00:00
|
|
|
os.environ.set("MODE", "development")
|
2023-11-28 07:53:48 +00:00
|
|
|
uvicorn.run("main:app", host="0.0.0.0", port=PORT, proxy_headers=True, server_header=True)
|