diff --git a/backend/apps/core/state_machine/callback_base.py b/backend/apps/core/state_machine/callback_base.py index 6db5c90a..f0176f12 100644 --- a/backend/apps/core/state_machine/callback_base.py +++ b/backend/apps/core/state_machine/callback_base.py @@ -75,6 +75,8 @@ from typing import Any, Optional from django.db import models +from apps.core.utils import capture_and_log + logger = logging.getLogger(__name__) @@ -496,9 +498,12 @@ class TransitionCallbackRegistry: failures.append((callback, None)) overall_success = False - if not callback.continue_on_error: - logger.error( - f"Aborting callback chain - {callback.name} failed " f"and continue_on_error=False" + if not callback.continue_on_error: + capture_and_log( + RuntimeError(f'Callback {callback.name} returned False'), + f'Aborting callback chain - continue_on_error=False', + source='state_machine', + severity='medium', ) break @@ -508,8 +513,11 @@ class TransitionCallbackRegistry: overall_success = False if not callback.continue_on_error: - logger.error( - f"Aborting callback chain - {callback.name} raised exception " f"and continue_on_error=False" + capture_and_log( + e, + f'Aborting callback chain - {callback.name} raised exception', + source='state_machine', + severity='high', ) break