Description
Select supplied severity tokens at or above an explicit least-to-most ordered level bank; retain unknown tokens instead of assuming rank.
Structured log records need an explicit ordering, time unit and label convention. A sequence gap can be measured in supplied record order without proving loss, and grouping adjacent messages differs from grouping all equal messages. The record tools here operate on caller-supplied structured data rather than collecting logs.
Select supplied severity tokens at or above an explicit least-to-most ordered level bank; retain unknown tokens instead of assuming rank.
When to use this tool
Use this tool to select supplied severity tokens at or above an explicit least-to-most ordered level bank; retain unknown tokens instead of assuming rank.
How to use the tool and how it works
- Enter levels, order, minimum using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.selected, result.unknown. Use the ordering, boundary rules and absence conditions described below.
Require a distinct order list containing minimum. Select levels at or after minimum’s position and separately report unknown labels.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| levels | Level labels in original order. | Dense list of at most 128 strings, each at most 8,192 UTF-16 code units. |
| order | Distinct level labels ordered from lower to higher selection rank. | Dense list of at most 128 strings, each at most 8,192 UTF-16 code units. |
| minimum | Minimum selected level; must appear in order. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.selected | Source-indexed levels at or above the supplied order threshold. |
| result.unknown | Source-indexed levels absent from the supplied order list. |
{
"input": {
"levels": [
"debug",
"error",
"other"
],
"order": [
"debug",
"info",
"error"
],
"minimum": "info"
},
"output": {
"result": {
"selected": [
{
"index": 1,
"level": "error"
}
],
"unknown": [
{
"index": 2,
"level": "other"
}
]
}
}
} Limitations and assumptions
- The supplied order defines increasing rank; it is independent of syslog severity numbering.
- Structured log records have id, time, source, level, message and sequence fields. time is a finite caller-defined numeric scale; sequence is an integer from 0 through 1,000,000,000,000. Use the same time units for windows and gap edges.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Keep original record order and provenance alongside summaries. Sort, partition by source or normalize aliases explicitly before applying a rule that depends on those choices.
References
Similar or alternative tools
- Log Level Token Normalizer
Normalize a log-level token through explicit caller aliases with cycle/path evidence; no universal severity vocabulary.
- Log Record Level Count Table
Count explicit log severity observations after caller alias normalization, retaining source indexes and an explicit alias-cycle category; not a universal level classification.