Apex Debug Log Analyzer — Free Online Tool
Skip to main content

Apex Debug Log Analyzer

Paste a raw Apex debug log to analyze governor limits, execution tree, SOQL queries, and debug statements.

About the Apex Debug Log Analyzer

Salesforce Apex debug logs are dense, verbose, and difficult to read raw. A single trigger execution can produce thousands of lines. This tool parses the log format, extracts the signal from the noise, and presents it as a structured analysis: governor limit usage, SOQL query breakdown, USER_DEBUG messages, a flame graph of CPU time, and automatic detection of SOQL-in-loop anti-patterns.

What this tool analyzes

Governor Limits

Visual gauges for SOQL queries, DML statements, heap size, and CPU time — showing usage vs. limit at a glance.

SOQL Breakdown

Every SOQL query extracted from the log with row counts and execution time. Flags queries inside loops automatically.

Flame Graph

CPU time visualized as a call stack flame graph — identify which methods are consuming the most execution time.

USER_DEBUG Filter

Extracts all USER_DEBUG log lines into a clean list — no more scrolling through thousands of lines to find your debug output.

Pipeline

Frequently asked

Is my debug log data sent to a server?
No. All log parsing and analysis runs 100% in your browser. Your Apex debug logs — which may contain sensitive business data — never leave your device.
How do I get an Apex debug log from Salesforce?
In Setup, go to Debug Logs and add a trace flag for your user. Then reproduce the issue. The log appears in the Debug Logs list — click View to open it, or download it. You can also retrieve logs via the Tooling API or SFDX CLI with "sf apex get log".
What is a governor limit violation?
Salesforce enforces limits on resources per transaction: SOQL queries (100 sync / 200 async), DML statements (150), heap size (6 MB sync / 12 MB async), and CPU time (10s sync / 60s async). Exceeding any limit throws a LimitException and rolls back the transaction.
What is a SOQL in loop and why is it bad?
A SOQL in loop occurs when a database query is executed inside a for loop, consuming one of your 100 SOQL query slots per iteration. With 200 records in a trigger, this hits the limit immediately. The fix is to collect all IDs before the loop and query once outside it.
What does the flame graph show?
The flame graph visualizes the call stack over time, showing which methods consumed the most CPU time. Wide bars indicate expensive methods. This helps identify performance bottlenecks in complex Apex code.