{{ summaryTitle }} {{ summaryValue }} {{ summaryLine }} {{ badge.label }}{{ badge.value }}
Application log source and grouping controls
Use one coherent service and time window; continuation stack frames remain attached to their event. Timestamps without an offset use UTC; include an explicit offset for local times.
{{ sourceMeta }}
{{ sourceActionHint }}
Choose the source convention. Text labels only leaves numeric levels unknown rather than guessing.
The label is included in copied and downloaded analysis artifacts.
Balanced is the incident-triage default; strict preserves more detail and coarse merges more variable data.
Choose 2–500 events according to the size of the pasted incident or baseline slice.
events
Use a smaller limit for focused incident review and a larger limit for baseline inspection.
patterns
Use short intervals for incident bursts and longer intervals for wider baseline slices.
min
{{ workflowFeedback }}
Leave empty for neutral severity parsing, or enter a short comma-separated list such as timeout, deadlock, oom.
{{ handoffStatus }}
PatternCountSeverityShareWindowExampleCopy
{{ row.pattern }}
P{{ row.rank }} · {{ row.variable_tokens }} variable token(s)
{{ row.count }} {{ severityLabel(row.severity) }} {{ formatPercent(row.share_percent) }} {{ row.time_window }} {{ row.example }}
{{ handoffStatus }}
PrioritySignalPatternEvidenceSuggested next stepCopy
{{ row.priority }} {{ row.signal }} {{ row.pattern }} {{ row.evidence }} {{ row.next_step }}
{{ handoffStatus }}

{{ patternChartLoading ? 'Loading chart…' : patternChartError }}

{{ handoffStatus }}

{{ timelineChartLoading ? 'Loading chart…' : timelineChartError }}

During an incident, variable details can make one recurring failure look like hundreds of unrelated messages. Request IDs, order numbers, addresses, paths, durations, and timestamps change from event to event even when the underlying operation fails in the same way. Fingerprinting replaces selected variable values with placeholders so repeated message shapes can be counted together.

The unit of analysis is a logical event rather than a physical line. A timestamped message may be followed by indented stack frames or a traceback, and those continuation lines belong to the event above them. JSON log records can carry the timestamp, severity, and message in fields instead of a text prefix. Treating both forms as events keeps multiline failures from being counted as several independent observations.

Grouping detail controls an unavoidable tradeoff. Preserving more literal text keeps nearby failures separate but can fragment one behavior into many fingerprints. Replacing more values makes repetition easier to see but can combine messages that require different fixes. Structured logging with stable event names and separate variable fields reduces that ambiguity.

Useful and weak application log analysis slices
Log sliceWhat it supportsMain caution
One service during an incidentRecurring-failure and burst comparisonThe excerpt does not show normal baseline frequency.
One service during a known-good periodA baseline for later comparisonTraffic volume and release state must remain comparable.
Mixed services or unrelated datesBroad message discoveryCounts, severity, and time buckets can mislead.
Logs without parseable timestampsPattern and severity countsThey cannot establish when a burst occurred.

Frequency is not the same as impact. A high-volume informational message may be harmless baseline noise, while one fatal event may demand immediate attention. Logger severity also reflects the application's conventions, which can differ across teams and services. Trace data, metrics, dependency status, deployment history, and the original message remain necessary for root-cause work.

Logs routinely contain credentials, personal data, internal hosts, and business identifiers. Replacing values during fingerprinting helps messages group together; it is not a privacy scrub. Remove sensitive content before analysis or sharing, and keep the chosen excerpt as narrow as the investigation permits.

How to Use This Tool:

Use one coherent service and time window, then choose grouping settings that preserve the distinctions needed for the investigation.

  1. Paste plain-text logs, JSON Lines, or a multiline stack-trace excerpt into Application logs, or load one LOG, TXT, JSON, or JSONL file. Input is limited to 2 MiB, and analysis stops after 10,000 parsed events.
  2. Choose Balanced grouping for initial triage. Switch to strict grouping when unlike events appear merged, or coarse grouping when variable values split an obvious recurring message.
  3. Set the Noisy threshold from 2 to 500 events, a Time bucket from 1 to 120 minutes, and a pattern limit from 1 to 25. Add critical terms only when they have a clear local meaning because a matching term can promote unknown severity to error.
  4. Review the highest-count patterns alongside their severity, example, share, and time window. Follow the Noise triage queue as an investigation prompt, not an automatic suppression policy.

Interpreting Results:

A fingerprint's severity is the highest level found among its events. One fatal record can therefore label a large group as fatal even when most members have lower levels. Open the representative message and compare nearby traces or requests before treating the whole group as one cause.

  • Count and Share describe the supplied excerpt, not the service's production-wide rate.
  • A noisy pattern has a count greater than or equal to the selected threshold. The boundary is inclusive.
  • The ranked ledger is sorted by count, then severity, then fingerprint text. A smaller pattern limit hides lower-ranked rows without changing totals.
  • No timestamp events still contribute to fingerprints and severity counts, but they cannot support a reliable time comparison.
  • A high unique-pattern ratio can indicate overly strict grouping, poorly structured messages, or a genuinely diverse slice. Try another detail level and inspect examples before deciding.

Technical Details:

Application-log pattern analysis combines parsing, normalization, aggregation, and bounded triage rules. It is deterministic for the same text and settings, but the fingerprints are heuristics rather than a standard event taxonomy.

Transformation Core

  1. Line endings and terminal color escapes are normalized. Timestamped, severity-prefixed, or JSON records start new events; indented stack frames and common traceback continuations attach to the preceding event.
  2. JSON records are checked for common timestamp, severity, and message fields. Text records use leading timestamp and severity patterns. A syslog-style timestamp without a year is parsed only when another date in the excerpt supplies that year.
  3. URLs, UUIDs, long hexadecimal values, IP addresses, email addresses, durations, and ID-like key values become placeholders. Balanced grouping also replaces ordinary numbers, long quoted values, and path-like text. Coarse grouping additionally replaces broad key-value and bracketed values, while strict grouping preserves more literal detail.
  4. Events with identical normalized messages form a fingerprint. Each group retains its count, severity mix, first and last parsed time, an example message, and placeholder count.
  5. Groups are ranked and the requested number becomes the visible ledger. All analyzed events still contribute to summary counts, severity totals, and time buckets.

Formula Core

Pattern share divides the event count for one fingerprint by all analyzed events. The unique-pattern ratio uses the number of distinct fingerprints instead.

share=cpN×100%
unique ratio=PN×100%

Here cp is the count for a fingerprint, P is the number of fingerprints, and N is the analyzed event count. Percentages retain calculation precision and may be formatted for display.

Rule Core

Application log triage rules
ConditionPriority and signal
Any fatal or error event in a fingerprintP1 when the group's highest severity is fatal; otherwise P2. It becomes a recurring failure when the failure count is at least the noisy threshold.
Warning count at least the noisy thresholdP3 repeated warning noise.
Other group count at least the noisy thresholdP4 high-volume baseline candidate.
Unique ratio at least 75% with 8 or more eventsP4 fingerprint-tuning check.
Any event lacks a parsed timestampP4 timestamp-coverage check.
No earlier triage rule appliesP5 baselineable log slice.

The triage queue is capped at 10 rows. Time buckets use the chosen minute width and place unparsed times in a separate No timestamp bucket. Severity order is fatal, error, warning, info, debug, trace, then unknown.

Privacy and Accuracy Notes:

Analysis stays in the current browser tab and pasted or loaded logs are not uploaded. That local path does not remove secrets from the text or from copied and downloaded results. Parsing recognizes common timestamp, severity, JSON, and stack-trace shapes but cannot understand every logger format. Fingerprints can split one cause or merge different causes, and critical terms rely on simple case-insensitive text matches.

Worked Examples:

Repeated upstream failure

Three error events say that a charge failed with status 502 but carry different request and order IDs. Balanced grouping replaces the changing IDs and number, producing one three-event fingerprint. With a noisy threshold of 2, it appears as a recurring P2 failure; the original examples and traces are still needed to confirm the upstream cause.

Fragmented message set

Eight events become eight fingerprints under strict grouping, so the unique ratio is 100%. Because the slice has at least eight events and the ratio is at least 75%, the triage queue recommends checking fingerprint detail. Coarse grouping is useful only if its merged examples still describe the same behavior.

References: