pub struct LogFilter { /* private fields */ }Expand description
LogFilter supports concurrent control the log level filter with atomic.
Used in combine with macros logger_XXX. the log level filter can be dynamic changed.
§Example
use std::sync::Arc;
use captains_log::{*, filter::LogFilter};
log::set_max_level(log::LevelFilter::Debug);
let logger_io = Arc::new(LogFilter::new());
let logger_req = Arc::new(LogFilter::new());
logger_io.set_level(log::Level::Error);
logger_req.set_level(log::Level::Debug);
logger_debug!(logger_req, "Begin handle req ...");
logger_debug!(logger_io, "Issue io to disk ...");
logger_error!(logger_req, "Req invalid ...");Implementations§
Trait Implementations§
Source§impl Filter for LogFilter
impl Filter for LogFilter
Source§fn is_enabled(&self, level: Level) -> bool
fn is_enabled(&self, level: Level) -> bool
whether a log level is enable
Auto Trait Implementations§
impl !Freeze for LogFilter
impl RefUnwindSafe for LogFilter
impl Send for LogFilter
impl Sync for LogFilter
impl Unpin for LogFilter
impl UnwindSafe for LogFilter
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