pub struct Logger { /* private fields */ }
Expand description
Implementations§
source§impl Logger
impl Logger
sourcepub fn new(py: Python<'_>, caching: Caching) -> PyResult<Self>
pub fn new(py: Python<'_>, caching: Caching) -> PyResult<Self>
Creates a new logger.
It defaults to having a filter for Debug
.
sourcepub fn install(self) -> Result<ResetHandle, SetLoggerError>
pub fn install(self) -> Result<ResetHandle, SetLoggerError>
Installs this logger as the global one.
When installing, it also sets the corresponding maximum level, constructed using the filters in this logger.
sourcepub fn reset_handle(&self) -> ResetHandle
pub fn reset_handle(&self) -> ResetHandle
Provides the reset handle of this logger.
Note that installing the logger also returns a reset handle. This function is available if, for example, the logger will be passed to some other logging system that connects multiple loggers together.
sourcepub fn filter(self, filter: LevelFilter) -> Self
pub fn filter(self, filter: LevelFilter) -> Self
Configures the default logging filter.
Log messages will be filtered according a filter. If one provided by a
filter_target
matches, it takes preference. If none matches,
this one is used.
The default filter if none set is Debug
.
sourcepub fn filter_target(self, target: String, filter: LevelFilter) -> Self
pub fn filter_target(self, target: String, filter: LevelFilter) -> Self
Sets a filter for a specific target, overriding the default.
This’ll match targets with the same name and all the children in the module hierarchy. In case multiple match, the most specific one wins.
With this configuration, modules will log in the following levels:
Logger::default()
.filter(LevelFilter::Warn)
.filter_target("xy".to_owned(), LevelFilter::Debug)
.filter_target("xy::aa".to_owned(), LevelFilter::Trace);
whatever
=>Warn
xy
=>Debug
xy::aa
=>Trace
xy::aabb
=>Debug