pub struct TracingAuditSink;Expand description
The default AuditSink: emit tracing::info! events under
target = "plexus::audit".
Per AUTHZ-S01-output §8: “guarantees that even backends that don’t think
about audit get some observable trail.” Every field of the record
appears as a structured field on the emitted event. Operators wire
tracing-subscriber once at the deployment level and the audit trail
flows to whatever sink they prefer (JSON to stdout, file, OTLP, etc.).
§Retention
Retention is the responsibility of the tracing subscriber configured
at the deployment level (e.g., a file appender with size-based rotation,
or an OTLP exporter with cloud-side retention). The reference sinks in
AUTHZ-PRIVACY-5 cover the cases where structured-log retention is not a
fit (durable WAL, S3 sink, etc.).
§Failure modes
tracing::info! is infallible at the macro level; it returns (). The
only failure mode is a misconfigured subscriber dropping events, which
tracing-subscriber’s standard machinery surfaces as drop counters — not
a per-record error. The sink’s write therefore cannot fail.
Implementations§
Trait Implementations§
Source§impl AuditSink for TracingAuditSink
impl AuditSink for TracingAuditSink
Source§impl Clone for TracingAuditSink
impl Clone for TracingAuditSink
Source§fn clone(&self) -> TracingAuditSink
fn clone(&self) -> TracingAuditSink
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more