From 4fab671e205158a8e5a80a28681c7d20ceb08b36 Mon Sep 17 00:00:00 2001 From: Rajat Ahuja Date: Mon, 16 Jun 2025 17:56:53 -0400 Subject: [PATCH] Fix Sentry IntegrityError (#119) * integrity error logger.error -> logger.warning * add context comment for sentry + logging --- src/crud.py | 4 ++-- src/main.py | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/crud.py b/src/crud.py index b5ac4f60..f14107cf 100644 --- a/src/crud.py +++ b/src/crud.py @@ -124,7 +124,7 @@ async def create_app(db: AsyncSession, app: schemas.AppCreate) -> models.App: return honcho_app except IntegrityError as e: await db.rollback() - logger.error(f"IntegrityError creating app with name '{app.name}': {str(e)}") + logger.warning(f"IntegrityError creating app with name '{app.name}': {str(e)}") raise ConflictException(f"App with name '{app.name}' already exists") from e @@ -158,7 +158,7 @@ async def update_app( return honcho_app except IntegrityError as e: await db.rollback() - logger.error(f"IntegrityError updating app {app_id}: {str(e)}") + logger.warning(f"IntegrityError updating app {app_id}: {str(e)}") raise ConflictException( "App update failed - unique constraint violation" ) from e diff --git a/src/main.py b/src/main.py index 5c254825..5405b644 100644 --- a/src/main.py +++ b/src/main.py @@ -79,6 +79,12 @@ if SENTRY_ENABLED: return event + # Sentry SDK's default behavior: + # - Captures INFO+ level logs as breadcrumbs + # - Captures ERROR+ level logs as Sentry events + # + # For custom log levels, use the LoggingIntegration class: + # sentry_sdk.init(..., integrations=[LoggingIntegration(level=logging.INFO, event_level=logging.ERROR)]) sentry_sdk.init( dsn=os.getenv("SENTRY_DSN"), traces_sample_rate=0.4,