pub struct InMemoryAuditLogger { /* private fields */ }Expand description
In-memory audit logger, backed by a Vec<AuditEvent>.
Suitable for tests and short-lived processes. When capacity is exceeded,
log returns AuditLogError::CapacityExceeded rather
than evicting events — preserving audit trail completeness.
Implementations§
Source§impl InMemoryAuditLogger
impl InMemoryAuditLogger
Sourcepub fn with_capacity(max_capacity: usize) -> Self
pub fn with_capacity(max_capacity: usize) -> Self
Create a new logger with a custom maximum capacity.
Sourcepub fn events(&self) -> Vec<AuditEvent>
pub fn events(&self) -> Vec<AuditEvent>
Return a snapshot of all logged events.
Acquires a read lock; panics (poison recovery) if the lock is poisoned.
Trait Implementations§
Source§impl AuditLogger for InMemoryAuditLogger
impl AuditLogger for InMemoryAuditLogger
Source§fn log(&self, event: AuditEvent) -> Result<(), AuditLogError>
fn log(&self, event: AuditEvent) -> Result<(), AuditLogError>
Record a single audit event. Read more
Auto Trait Implementations§
impl Freeze for InMemoryAuditLogger
impl RefUnwindSafe for InMemoryAuditLogger
impl Send for InMemoryAuditLogger
impl Sync for InMemoryAuditLogger
impl Unpin for InMemoryAuditLogger
impl UnsafeUnpin for InMemoryAuditLogger
impl UnwindSafe for InMemoryAuditLogger
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more