pub struct AuditConfig {
pub log_path: Option<PathBuf>,
pub log_stderr: bool,
pub retention_days: u32,
pub include_content: bool,
pub hmac_key: Option<Vec<u8>>,
}Expand description
Audit logger configuration.
Fields§
§log_path: Option<PathBuf>Path to audit log file.
log_stderr: boolWhether to also log to stderr.
retention_days: u32Minimum retention period in days.
include_content: boolInclude memory content in logs (may contain sensitive data).
hmac_key: Option<Vec<u8>>HMAC key for chain integrity (32 bytes recommended).
If None, entries are not signed.
Implementations§
Source§impl AuditConfig
impl AuditConfig
Sourcepub fn with_log_path(self, path: impl Into<PathBuf>) -> Self
pub fn with_log_path(self, path: impl Into<PathBuf>) -> Self
Sets the log path.
Sourcepub const fn with_stderr(self) -> Self
pub const fn with_stderr(self) -> Self
Enables stderr logging.
Sourcepub const fn with_retention(self, days: u32) -> Self
pub const fn with_retention(self, days: u32) -> Self
Sets retention period.
Sourcepub fn with_hmac_key(self, key: Vec<u8>) -> Self
pub fn with_hmac_key(self, key: Vec<u8>) -> Self
Sets the HMAC key for chain integrity.
The key should be at least 32 bytes for security.
Trait Implementations§
Source§impl Clone for AuditConfig
impl Clone for AuditConfig
Source§fn clone(&self) -> AuditConfig
fn clone(&self) -> AuditConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AuditConfig
impl Debug for AuditConfig
Auto Trait Implementations§
impl Freeze for AuditConfig
impl RefUnwindSafe for AuditConfig
impl Send for AuditConfig
impl Sync for AuditConfig
impl Unpin for AuditConfig
impl UnwindSafe for AuditConfig
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,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].