mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-21 12:49:06 +00:00
@@ -2,8 +2,15 @@ from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from reflector.views.rtc_offer import router as rtc_offer_router
|
||||
from reflector.events import subscribers_startup, subscribers_shutdown
|
||||
from reflector.logger import logger
|
||||
from reflector.settings import settings
|
||||
from contextlib import asynccontextmanager
|
||||
|
||||
try:
|
||||
import sentry_sdk
|
||||
except ImportError:
|
||||
sentry_sdk = None
|
||||
|
||||
|
||||
# lifespan events
|
||||
@asynccontextmanager
|
||||
@@ -15,6 +22,17 @@ async def lifespan(app: FastAPI):
|
||||
await func()
|
||||
|
||||
|
||||
# use sentry if available
|
||||
if settings.SENTRY_DSN:
|
||||
if not sentry_sdk:
|
||||
logger.error("Sentry is not installed, avoided")
|
||||
else:
|
||||
logger.info("Sentry enabled")
|
||||
sentry_sdk.init(dsn=settings.SENTRY_DSN, traces_sample_rate=1.0)
|
||||
else:
|
||||
logger.info("Sentry disabled")
|
||||
|
||||
|
||||
# build app
|
||||
app = FastAPI(lifespan=lifespan)
|
||||
app.add_middleware(
|
||||
|
||||
@@ -44,5 +44,8 @@ class Settings(BaseSettings):
|
||||
STORAGE_AWS_SECRET_KEY: str = ""
|
||||
STORAGE_AWS_BUCKET: str = ""
|
||||
|
||||
# Sentry
|
||||
SENTRY_DSN: str | None = None
|
||||
|
||||
|
||||
settings = Settings()
|
||||
|
||||
Reference in New Issue
Block a user