2.2 KiB
name, group, category, update-time, description, key-word
| name | group | category | update-time | description | key-word | ||||
|---|---|---|---|---|---|---|---|---|---|
| logger-with-min-level | api | logging | 20260512 | Replace the logger minimum enabled level so lower-severity records are skipped earlier. |
|
Logger-with-min-level
Replace the logger's minimum enabled level. This API controls the first gate checked by log(...) and the convenience level methods.
Interface
pub fn[S] Logger::with_min_level(self : Logger[S], min_level : Level) -> Logger[S] {}
input
self : Logger[S]- Base logger whose level threshold should change.min_level : Level- New minimum enabled level.
output
Logger[S]- A new logger value carrying the updated threshold.
Explanation
Detailed rules explaining key parameters and behaviors
log(...)checksis_enabled(level)before constructing and writing a record.- Lower-severity records below
min_levelare skipped without reaching the sink. - This API replaces the logger threshold and does not add a wrapper sink.
- The returned logger keeps the same sink, target, and timestamp settings.
How to Use
Here are some specific examples provided.
When Raise Noise Floor In Production
When only warning and error records should be emitted:
let logger = Logger::new(console_sink())
.with_min_level(Level::Warn)
In this example, trace, debug, and info calls are skipped.
When Derive A More Verbose Local Logger
When one branch of code should keep a different threshold:
let base = Logger::new(console_sink(), min_level=Level::Info)
let debug_logger = base.with_min_level(Level::Debug)
In this example, the sink is reused while the threshold changes per logger value.
Error Case
e.g.:
-
If
min_levelis set too high, expected lower-severity diagnostics may disappear. -
If callers need richer predicate logic than a simple threshold,
with_filter(...)should be used instead.
Notes
Notes are here.
-
This API is the cheapest built-in severity gate.
-
Use it before adding more complex filtering rules.
-
It composes cleanly with target, patch, and context-field helpers.
-
The original logger is unchanged because a new value is returned.