pub struct DefaultMasker { /* private fields */ }Expand description
Production-ready masker with common patterns for PII and secrets.
Masks by field name (e.g., password, token)
and by value patterns (e.g., email addresses, credit card numbers, JWTs).
Thread-safe (Send + Sync) — create once, share via Arc.
§Examples
use rskit_logging::masking::{DefaultMasker, Masker};
let masker = DefaultMasker::default();
// Field-name masking
let masked = masker.mask_value("password", "my-secret");
assert_eq!(masked, "[REDACTED]");
// Email masking
let masked = masker.mask_value("msg", "contact user@example.com");
assert!(masked.contains("***@***.***"));Implementations§
Source§impl DefaultMasker
impl DefaultMasker
Sourcepub fn new(cfg: &MaskingConfig) -> LoggingResult<Self>
pub fn new(cfg: &MaskingConfig) -> LoggingResult<Self>
Create a new masker from the given configuration.
Compiles all default and custom regex patterns.
§Errors
Returns an error when any custom value pattern is not a valid regex.
Trait Implementations§
Source§impl Default for DefaultMasker
impl Default for DefaultMasker
Auto Trait Implementations§
impl Freeze for DefaultMasker
impl RefUnwindSafe for DefaultMasker
impl Send for DefaultMasker
impl Sync for DefaultMasker
impl Unpin for DefaultMasker
impl UnsafeUnpin for DefaultMasker
impl UnwindSafe for DefaultMasker
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request