Catalog
Catalog the patterns (the recurring structural shapes of log lines, Payment_Gateway_Timeout user_id={} took={}ms-style) in a local log file, paste, or glob. Runs a local Log10x pipeline on the host — no Kubernetes, no deployed Reporter, no Log10x account. Each catalog entry carries the pattern's structural identity, its body with variable slots, and the event count.
Example
"what's in
/tmp/incident.log?"1,403 events, 27 patterns. Top:
Payment_Gateway_Timeout user_id={} took={}ms(412 events)GetCartAsync called with userId {}(218 events)Retry_Exhausted after {} attempts(174 events)
More to ask
- "patterns in
/var/log/app/*.log" - "verify that checkout logs and cart logs don't merge into one pattern"
- "top 200 patterns in this corpus"
Prerequisites
tenx (CLI, brew install log10x/tap/tenx) installed locally, OR Docker daemon running (when LOG10X_TENX_MODE=docker).
Tool schema (advanced)
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
source |
string | yes | — | One of: file, events, text. |
path |
string | when source=file | — | Local file path or glob. |
events |
string[] | when source=events | — | Inline log lines. |
text |
string | when source=text | — | Newline-separated raw blob. |
top_n |
number | no | 50 |
Max patterns to return. 1–200. |
expected.min_templates |
number | no | — | Minimum number of distinct patterns expected. |
expected.required_patterns |
string[] | no | — | Substrings that must appear in at least one pattern body. |
expected.forbidden_merges |
string[][] | no | — | Pairs of substrings that must NOT appear in the same pattern body. Asserts the templater never merges two structurally distinct events. |
The internal type name for a pattern's structural identity is TenXTemplate; the response field is templateHash. "Pattern" and "template" refer to the same thing in this tool's output. Assertion mode (expected.* fields) reports PASS / FAIL per assertion.