pub struct AuditLogSubscriber { /* private fields */ }Expand description
审计日志订阅者
记录所有写入操作到内部日志缓冲,可用于调试或审计。
§示例
use sz_orm_core::observer::{EventDispatcher, AuditLogSubscriber, Event};
use sz_orm_core::hooks::HookContext;
use std::collections::HashMap;
let audit = AuditLogSubscriber::new();
let mut dispatcher = EventDispatcher::new();
dispatcher.subscribe(Box::new(audit.clone()));
let ctx = HookContext::default();
let attrs = HashMap::new();
dispatcher.dispatch(Event::AfterInsert, &ctx, &attrs);
assert_eq!(audit.logs().lock().unwrap().len(), 1);Implementations§
Trait Implementations§
Source§impl Clone for AuditLogSubscriber
impl Clone for AuditLogSubscriber
Source§fn clone(&self) -> AuditLogSubscriber
fn clone(&self) -> AuditLogSubscriber
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for AuditLogSubscriber
impl Default for AuditLogSubscriber
Source§impl EventSubscriber for AuditLogSubscriber
impl EventSubscriber for AuditLogSubscriber
Auto Trait Implementations§
impl Freeze for AuditLogSubscriber
impl RefUnwindSafe for AuditLogSubscriber
impl Send for AuditLogSubscriber
impl Sync for AuditLogSubscriber
impl Unpin for AuditLogSubscriber
impl UnsafeUnpin for AuditLogSubscriber
impl UnwindSafe for AuditLogSubscriber
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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