TsgcWSCircuitBreaker事件 › OnFailureRecorded

OnFailureRecorded 事件

每次针对断路器记录故障后,在 Classification 接受该故障后触发。

语法

property OnFailureRecorded: TsgcCircuitBreakerOnFailureRecorded;
// TsgcCircuitBreakerOnFailureRecorded = procedure(Sender: TObject; const aKey, aException: string) of object

默认值

备注

在 RecordFailure/RecordMessageError(或 HTTP API 客户端集成)记录失败并经 Classification 确认应计入之后触发。aKey 参数标识断路器,aException 携带传递给 RecordFailure 的 ClassName: Message 文本——可用于关联上游事件跟踪、发送结构化日志或转发到 Seq/Sentry/Application Insights 等接收端。对于 Classification 选择忽略的失败,此事件触发;并且它在 EvaluateTransition 决定是否打开断路器之前触发——如需状态变化本身的通知,请使用 OnStateChange。在记录线程上同步运行。

示例

procedure TForm1.CircuitFailureRecorded(Sender: TObject;
  const aKey, aException: string);
begin
  Log(Format('Failure on %s: %s', [aKey, aException]));
  // Stream to structured logger / incident tracker
  SeqLogger.Error('circuit.failure',
    ['key', aKey, 'exception', aException]);
end;

返回事件