Skip to content

Main content

Log Level Order Selector

Select supplied severity tokens at or above an explicit least-to-most ordered level bank; retain unknown tokens instead of assuming rank.

Loading tool…

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

  1. Enter levels, order, minimum using the field definitions below.
  2. Run the operation. Correct input errors before interpreting an output.
  3. 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 fieldMeaning and unitsAccepted input
levelsLevel labels in original order.Dense list of at most 128 strings, each at most 8,192 UTF-16 code units.
orderDistinct 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.
minimumMinimum selected level; must appear in order.Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies.
Output fieldInterpretation
resultObject containing the named fields below.
result.selectedSource-indexed levels at or above the supplied order threshold.
result.unknownSource-indexed levels absent from the supplied order list.
json
{
  "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

  1. Tool behavior and example: Log Level Order Selector — tool.io

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.