Struct tracing_log::log_tracer::Builder
source · pub struct Builder { /* private fields */ }
log-tracer
only.Expand description
Configures a new LogTracer
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn with_max_level(self, filter: impl Into<LevelFilter>) -> Self
pub fn with_max_level(self, filter: impl Into<LevelFilter>) -> Self
Sets a global maximum level for log
records.
Log records whose level is more verbose than the provided level will be disabled.
By default, all log
records will be enabled.
sourcepub fn ignore_crate(self, name: impl Into<String>) -> Self
pub fn ignore_crate(self, name: impl Into<String>) -> Self
Configures the LogTracer
to ignore all log records whose target
starts with the given string.
This should be used when a crate enables the tracing/log
feature to
emit log records for tracing events. Otherwise, those events will be
recorded twice.
sourcepub fn ignore_all<I>(self, crates: impl IntoIterator<Item = I>) -> Selfwhere
I: Into<String>,
pub fn ignore_all<I>(self, crates: impl IntoIterator<Item = I>) -> Selfwhere I: Into<String>,
Configures the LogTracer
to ignore all log records whose target
starts with any of the given the given strings.
This should be used when a crate enables the tracing/log
feature to
emit log records for tracing events. Otherwise, those events will be
recorded twice.
sourcepub fn with_interest_cache(self, config: InterestCacheConfig) -> Self
Available on crate features interest-cache
and std
only.
pub fn with_interest_cache(self, config: InterestCacheConfig) -> Self
interest-cache
and std
only.Configures the LogTracer
to either disable or enable the interest cache.
When enabled, a per-thread LRU cache will be used to cache whenever the logger
is interested in a given level + target pair for records generated through
the log
crate.
When no trace!
logs are enabled the logger is able to cheaply filter
them out just by comparing their log level to the globally specified
maximum, and immediately reject them. When any other trace!
log is
enabled (even one which doesn’t actually exist!) the logger has to run
its full filtering machinery on each and every trace!
log, which can
potentially be very expensive.
Enabling this cache is useful in such situations to improve performance.
You most likely do not want to enabled this if you have registered any dynamic filters on your logger and you want them to be run every time.
This is disabled by default.
sourcepub fn init(self) -> Result<(), SetLoggerError>
Available on crate feature std
only.
pub fn init(self) -> Result<(), SetLoggerError>
std
only.Constructs a new LogTracer
with the provided configuration and sets it
as the default logger.
Setting a global logger can only be done once.