feat: replace direct logger.error with capture_and_log for critical state machine callback failures.

This commit is contained in:
pacnpal
2026-01-04 18:39:58 -05:00
parent 89d9e945b9
commit dd2d09b1c7

View File

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