Description
Extract every caller-defined literal log message prefix and remainder with original prefix indexes; no inferred log format or priority interpretation.
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.
Extract every caller-defined literal log message prefix and remainder with original prefix indexes; no inferred log format or priority interpretation.
When to use this tool
Use this tool to extract every caller-defined literal log message prefix and remainder with original prefix indexes; no inferred log format or priority interpretation.
How to use the tool and how it works
- Enter message, prefixes using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.matches. Use the ordering, boundary rules and absence conditions described below.
Require nonempty prefix strings and return every prefix matching the start of message, with its index and unmatched remainder.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| message | Message string to inspect for exact prefixes. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| prefixes | Nonempty literal prefixes to test in supplied order. | Dense list of at most 128 strings, each at most 8,192 UTF-16 code units. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.matches | Exact matching prefix records with prefix index and unmatched remainder. |
{
"input": {
"message": "[x] hi",
"prefixes": [
"[x] ",
"[y] "
]
},
"output": {
"result": {
"matches": [
{
"index": 0,
"prefix": "[x] ",
"remainder": "hi"
}
]
}
}
} Limitations and assumptions
- All matching prefixes are returned in supplied order; the longest prefix is not selected automatically.
- 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 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.