server: add sentry to server (#93)

Closes #91
This commit is contained in:
2023-08-02 11:28:18 +02:00
committed by GitHub
parent a3870efc40
commit 4d4292e1b5
4 changed files with 66 additions and 1 deletions

View File

@@ -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(

View File

@@ -44,5 +44,8 @@ class Settings(BaseSettings):
STORAGE_AWS_SECRET_KEY: str = ""
STORAGE_AWS_BUCKET: str = ""
# Sentry
SENTRY_DSN: str | None = None
settings = Settings()