Library-logger-is-enabled
Check whether a LibraryLogger[S] would accept a record at the given level based on its current min_level. This is the library-facing counterpart to Logger::is_enabled(...) and is useful for gating expensive message preparation.
Interface
pub fn[S] LibraryLogger::is_enabled(self : LibraryLogger[S], level : Level) -> Bool {input
self : LibraryLogger[S]- Library-facing logger whose current minimum level should be checked.level : Level- Candidate severity to test.
output
Bool-truewhen the level is enabled by the facade's current threshold.
Explanation
Detailed rules explaining key parameters and behaviors
- This method delegates directly to the wrapped logger's
is_enabled(...)behavior. - It only checks logger-level severity gating through
min_level; it does not evaluate later sink filters, patch logic, or any sink-side buffering/wrapping behavior. - The result reflects the current wrapped logger state, so derived facades with different thresholds can return different answers.
- This check does not require unwrapping because it is part of the narrower library-facing surface.
- Use it when message construction or field gathering is expensive enough to justify a pre-check.
How to Use
Here are some specific examples provided.
When Avoid Expensive Library Debug Preparation
When debug data should only be built if needed:
if logger.is_enabled(Level::Debug) {
logger.info(build_summary())
}In this example, expensive preparation is skipped unless the current threshold allows that severity.
When Inspect Effective Facade Threshold
When package code should branch based on current logger behavior:
if logger.is_enabled(Level::Info) {
logger.info("library path active")
}In this example, the check mirrors the same severity gate used by later write calls.
And a true result still means only that the level gate passed, not that the record is guaranteed to survive later sink-side filtering or routing.
Error Case
e.g.:
If
levelis below the current minimum threshold, the method returnsfalse.A
trueresult does not guarantee final sink output if later filter logic rejects the record.If callers need broader composition helpers rather than just the level gate, they must unwrap first with
to_logger().
Notes
This is a cheap severity check, not a full end-to-end delivery guarantee.
Prefer using it only when precomputing the log payload is meaningfully expensive.
Use
log(...)or the severity shortcuts directly when no expensive precomputation needs to be avoided.