Class AuditService
- Namespace
- JD.AI.Core.Governance.Audit
- Assembly
- JD.AI.Core.dll
Dispatches AuditEvent instances to all registered IAuditSink implementations. A failure in one sink never propagates to callers; failed events are sent to a dead-letter queue for later inspection.
public sealed class AuditService
- Inheritance
-
AuditService
- Inherited Members
Constructors
AuditService(IEnumerable<IAuditSink>, ILogger<AuditService>?, TenantContext?)
public AuditService(IEnumerable<IAuditSink> sinks, ILogger<AuditService>? logger = null, TenantContext? tenantContext = null)
Parameters
sinksIEnumerable<IAuditSink>loggerILogger<AuditService>tenantContextTenantContext
Properties
DeadLetterCount
Number of events that failed to write to at least one sink.
public long DeadLetterCount { get; }
Property Value
Methods
DrainDeadLetters()
Reads all dead-letter entries currently in the queue.
public IReadOnlyList<DeadLetterEntry> DrainDeadLetters()
Returns
EmitAsync(AuditEvent, CancellationToken)
Emits an audit event to all configured sinks. Exceptions from individual sinks are caught and logged; failed events are sent to the dead-letter queue.
public Task EmitAsync(AuditEvent evt, CancellationToken ct = default)
Parameters
evtAuditEventctCancellationToken
Returns
FlushAsync(CancellationToken)
Flushes all sinks. Sink flush failures are logged but not propagated.
public Task FlushAsync(CancellationToken ct = default)