2.0 KiB
name, group, category, update-time, description, key-word
| name | group | category | update-time | description | key-word | ||||
|---|---|---|---|---|---|---|---|---|---|
| level-priority | api | level | 20260512 | Convert a level into its numeric severity priority. |
|
Level-priority
Convert a Level into its numeric severity priority. This helper provides the ordering used by threshold checks and level comparisons.
Interface
pub fn Level::priority(self : Level) -> Int {}
input
self : Level- Level value whose numeric severity should be read.
output
Int- Numeric severity where larger numbers represent more severe levels.
Explanation
Detailed rules explaining key parameters and behaviors
- The built-in priorities are
Trace=10,Debug=20,Info=30,Warn=40, andError=50. - These values define the severity ordering used by
Level::enabled(...)and helpers such aslevel_at_least(...). - Callers should treat the mapping as a stable ordering mechanism rather than as user-facing display text.
- Higher priority means higher severity.
How to Use
Here are some specific examples provided.
When Compare Levels Explicitly
When code should compare severities numerically:
if Level::Warn.priority() > Level::Info.priority() {
logger.info("warn is more severe than info")
}
In this example, the numeric mapping drives direct comparison logic.
When Build Custom Threshold Logic
When a helper wants to reproduce built-in gating:
fn keep(level : Level, min_level : Level) -> Bool {
level.priority() >= min_level.priority()
}
In this example, the same ordering contract used by the logger API is applied directly.
Error Case
e.g.:
-
There is no failure path for valid
Levelvalues. -
If code depends on the exact numbers instead of the ordering, future refactoring would be more brittle than necessary.
Notes
-
Prefer
Level::enabled(...)when you need threshold semantics rather than raw numeric comparison. -
priority()is primarily an ordering helper, not a display helper.