-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun.py
More file actions
27 lines (22 loc) · 954 Bytes
/
run.py
File metadata and controls
27 lines (22 loc) · 954 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"""Main entry point for the application"""
import asyncio
import logging
import uvicorn
from app.main import app
from app.config import settings
if __name__ == "__main__":
# Configure uvicorn access logger based on environment and log level
log_level_value = getattr(logging, settings.log_level.upper(), logging.INFO)
# In production with INFO or higher, suppress uvicorn access logs
if settings.environment == "production" and log_level_value >= logging.INFO:
uvicorn_access_logger = logging.getLogger("uvicorn.access")
uvicorn_access_logger.setLevel(logging.WARNING)
uvicorn_access_logger.disabled = True
uvicorn.run(
"app.main:app",
host=settings.host,
port=settings.port,
log_level=settings.log_level.lower(),
reload=settings.environment == "development",
access_log=settings.environment != "production" or log_level_value < logging.INFO,
)