Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Electivus Apex Log ViewerNew to Visual Studio Code? Get it now.
Electivus Apex Log Viewer

Electivus Apex Log Viewer

Electivus

electivus.com
|
268 installs
| (0) | Free
Fast, searchable Salesforce Apex logs in VS Code — browse, filter, tail, and debug with Apex Replay.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Apex Log Viewer banner

Electivus Apex Log Viewer

Search downloaded Salesforce Apex logs inside VS Code, jump straight to the right failure, and keep triage, log inspection, tailing, replay, and debug flags in one workflow.

Install from Marketplace · Changelog · Report an issue

CI VS Marketplace Version Installs Downloads Rating License: MIT skills.sh

What It Does Best

  • Search across downloaded Apex log bodies with match snippets, so you can find the right log by business terms, IDs, or exception context instead of guessing by timestamp.
  • Highlight logs that deserve attention with error and triage badges directly in the list.
  • Open a dedicated Apex Log Viewer with parsed entries, focused filters, and a diagnostics sidebar.
  • Tail live logs, open the selected log, or hand it off to Apex Replay Debugger without leaving VS Code.
  • Read the application logs that Nebula Logger or your own logging framework stores in Salesforce records or publishes as platform events, with JSON payload columns and a link to the matching Apex debug log. Captured events stay on disk after Salesforce drops them.
  • Manage TraceFlags in a dedicated Apex Debug Flags screen with more room than the standard panel view. Flags default to DEVELOPER_LOG, the type Apex checkpoints need; choose USER_DEBUG from the Log type select when you need it.
  • Switch orgs quickly and keep the workflow centered on the org you are actively investigating.

Screenshots

Search, snippets, triage, and local log search

Search in the logs panel is optimized for locally saved log bodies, so the most effective flow is:

  1. Refresh logs.
  2. Search by the phrase, record ID, correlation ID, or exception detail you already know.
  3. Scroll for more rows when you want to keep exploring the current result set.
  4. Use Download all logs when the refreshed and scrolled set still did not surface what you need, or when you want to pull the whole org backlog into the workspace in one shot.
  5. Open the best candidate in the dedicated viewer.

Dedicated Apex Log Viewer with diagnostics

Apex Debug Flags editor

Real-time Apex log tail

Custom Logs with JSON payload columns and a loaded-row filter

Requirements

  • Salesforce CLI installed and authenticated. sf is recommended, but legacy sfdx also works.
  • VS Code 1.105+.
  • Standalone Salesforce CLI plugin: Node.js 22.19+.
  • Recommended for Replay Debugger: Salesforce Extension Pack (salesforce.salesforcedx-vscode).

Login example:

sf org login web

Install

  • From VS Code: open Extensions (Ctrl/Cmd+Shift+X), search for Electivus Apex Log Viewer, then install.
  • From the Marketplace: use the install link above.
  • From the CLI: code --install-extension electivus.apex-log-viewer

Salesforce CLI Plugin

Install the Salesforce CLI plugin to use the same local-first commands exposed through the sf electivus namespace:

sf plugins install @electivus/plugin-electivus
sf electivus log sync --target-org my-org --concurrency 6
sf electivus log status --target-org my-org

log sync resolves org auth through Salesforce Core, lists ApexLog rows, and downloads raw log bodies over the Salesforce Tooling REST API. It materializes those bodies under apexlogs/, keeps incremental state in apexlogs/.alv/sync-state.json, writes the canonical org-first layout at apexlogs/orgs/<safe-target-org>/logs/YYYY-MM-DD/<logId>.log, and removes legacy SQLite search index files. Use --concurrency to tune parallel body downloads.

sf electivus custom-log reads the same application logs as the Custom Logs panel, for example sf electivus custom-log list --target-org my-org --min-level ERROR --since 24h --json. A logging framework that only publishes platform events, such as nebula-events, needs sf electivus custom-log capture --source nebula-events --target-org my-org first. It stores the events under apexlogs/, and list then reads them offline. See Custom Logs commands and Event sources.

The VS Code extension and plugin are independent adapters over the private shared @alv/core. The extension bundles the core directly and never packages or spawns the plugin, so extension users do not install the plugin. The published plugin provides the same camelCase JSON operations for terminal and agent workflows. The standalone plugin runs on Node.js 22.19+; extension users get the compatible runtime through VS Code 1.105+.

Electivus Debug Agent Plugin and Skills

The electivus-debug agent plugin combines local log discovery, functional debugging and performance investigation for Codex, Claude Code and GitHub Copilot. Its three portable skills synchronize the available logs with sf electivus, search the local corpus for the relevant transaction, then diagnose and verify a correction. The optional Certinia MCP analyzes selected files with anonymous Apex execution disabled.

See the complete plugin installation guide for each client. The generated bundle lives in plugins/electivus-debug; canonical skills remain under skills/ and can also be installed separately.

For corporate environments that permit npm but block GitHub, install the bundled skills locally:

sf plugins install @electivus/plugin-electivus
sf electivus skill install
# Non-interactive installation into the current project:
sf electivus skill install --all --agent codex --json

The installer asks which agents to target, defaults to project scope, and supports Claude Code, Codex, GitHub Copilot, Devin, or --skills-dir for another client. It reads only files shipped in the plugin. Use --all for all three skills, repeat --skill <name> to select skills, --global for a user-wide installation, --dry-run to preview, and --force to replace different content. Without a skill selection it preserves the original apex-log-viewer-cli installation and JSON contract.

Alternatively, preview the repository's portable Agent Skills without installing them:

npx skills add Electivus/Apex-Log-Viewer --list

From a Salesforce project, install apex-log-viewer-cli for the agents detected by the standard skills CLI:

npx skills add Electivus/Apex-Log-Viewer --skill apex-log-viewer-cli

Project scope is the default. Review and commit the generated skills-lock.json so the team records the source, selected skill, and content hash. The same Agent Skills-compatible package works with Claude Code, Codex, GitHub Copilot, Devin, and other clients that implement the shared format; the repository smoke test exercises the four named agents with the pinned real installer.

See Agent Skill installation and migration for offline installation, updates for each distribution channel, global installation, lockfile restoration, and verify-first migration.

Usage

The extension activates automatically when the workspace contains sfdx-project.json. You can also activate it on demand by opening an Apex log or running one of the commands below.

Open the Logs Panel

  1. Open the VS Code panel area.
  2. Switch to Electivus Apex Logs.
  3. Run Electivus Apex Logs: Refresh Logs if the panel is not already populated.

Search Downloaded Logs

  • Run Refresh Logs to populate the list immediately while the shared runtime syncs bodies in the background.
  • Use the search box to search visible metadata plus locally synced log bodies.
  • Match snippets appear in the Match column when the hit comes from the saved log file.
  • Scroll to load more rows from the current list when you want to keep widening the search incrementally.
  • Use Download all logs when the refreshed and scrolled set still is not enough, or when you want to pull all logs from the selected org into local search in one action.
  • Combine search with filters by user, operation, status, and Errors only.

Review Triage Faster

  • Error badges and triage reasons surface logs that deserve attention before you open them.
  • The Errors only switch is useful when you want to reduce noise to the failing paths.
  • Sorting and infinite scroll still apply, so you can keep narrowing the list without leaving the panel.

Open the Dedicated Viewer

  • Press Enter on a selected row or open the log from the list.
  • The dedicated Apex Log Viewer parses the log into debug, SOQL, DML, and error-oriented views.
  • Use the built-in search box to jump between matching entries.
  • Use the diagnostics sidebar to land on mapped failures and warnings faster.

Tail Logs

  • Run Electivus Apex Logs: Tail Logs to open the tail view.
  • Start or stop streaming from the toolbar.
  • Search live output, keep auto-scroll on, and open or replay the selected log from the same screen.

Read Custom Logs

  • Custom Logs is experimental and off by default. Set electivus.apexLogViewer.customLogs.enabled to true to show it; no reload is needed. The sf electivus custom-log commands work without the setting.
  • Open Custom Logs in the VS Code panel area to read the log records that a logging framework stores in Salesforce, such as Nebula Logger's Log__c and LogEntry__c.
  • Pick an event source, such as nebula-events, to read logs that exist only as platform events. The panel captures the events into a local store while the source is open, shows what it stored, and marks any interval that may be missing as a gap.
  • Nebula Logger needs no configuration. Map other objects under plugins.electivus.customLogs in sfdx-project.json. Configure opens that block, and the editor validates it.
  • Filter by level, user, and time in Salesforce, and add JSON payload keys as columns or filters over the loaded rows.
  • Open a row to read the whole transaction, its long fields, and the matching Apex debug log.
  • See docs/CUSTOM_LOGS.md for the mapping format, permissions, and the sf electivus custom-log commands.

Configure Debug Flags

  • Open Debug Flags from either the Logs toolbar or the Tail toolbar.
  • Search active users by name or username.
  • Pick the log type: DEVELOPER_LOG by default (Apex checkpoints need it; Salesforce keeps these logs 24 hours) or USER_DEBUG (the Setup > Debug Logs type; kept 7 days).
  • Review the current status, level, and expiration for that log type.
  • See when the other log type's flag matters: an active DEVELOPER_LOG flag (for example the Developer Console's) sets the level even when you look at USER_DEBUG, and a DEVELOPER_LOG view with no flag points you to an active USER_DEBUG flag.
  • Apply or remove trace flags with a custom TTL.
  • Use the Debug Level Manager to create or tune a DebugLevel without leaving the extension.

Replay Debugger

  • Open a log from the list and launch Apex Replay Debugger from the row action when you need step-by-step inspection.
  • The extension is designed to make it easier to find the right log before you replay it.

Select an Org

  • Use the org picker in Logs, Tail, or Debug Flags to switch between authenticated orgs.
  • The extension can also use your CLI default org.

Commands

  • Electivus Apex Logs: Refresh Logs (electivus.apexLogViewer.logs.refresh)
  • Electivus Apex Logs: Select Org (electivus.apexLogViewer.org.select)
  • Electivus Apex Logs: Tail Logs (electivus.apexLogViewer.tail.start)
  • Electivus Apex Logs: Show Extension Output (electivus.apexLogViewer.output.show)
  • Electivus Apex Logs: Refresh Custom Logs (electivus.apexLogViewer.customLogs.refresh)
  • Electivus Apex Logs: Open Custom Logs in Editor Area (electivus.apexLogViewer.customLogs.openEditor)
  • Electivus Apex Logs: Configure Custom Logs Sources (electivus.apexLogViewer.customLogs.configure)

The three Custom Logs commands appear once electivus.apexLogViewer.customLogs.enabled is on.

Settings

  • electivus.apexLogViewer.logs.pageSize: logs fetched per page.
  • electivus.apexLogViewer.logs.processingConcurrency: concurrent head requests.
  • electivus.apexLogViewer.logs.columns: reorder, hide, or resize list columns.
  • electivus.apexLogViewer.tail.bufferLines: max in-memory tail lines.
  • electivus.apexLogViewer.customLogs.enabled: show the experimental Custom Logs panel and commands (off by default).
  • electivus.apexLogViewer.logging.trace: verbose extension logging to the output channel.

Previous sfLogs.* and electivus.apexLogs.* keys are not aliases and are not migrated automatically.

See docs/SETTINGS.md for the full configuration reference.

Troubleshooting

  • Search is not finding the text I know is in the log Run Refresh Logs first, then scroll to load more rows if needed. If the log still is not in the current local set, use Download all logs to bring the rest of the org backlog into the workspace search cache.
  • No orgs detected Authenticate with sf org login web and verify with sf org list; the extension reads the resulting Salesforce auth state directly.
  • Replay Debugger does not launch Install the Salesforce Extension Pack or the standalone Apex Replay Debugger extension.

Contributing

See CONTRIBUTING.md for development setup and release flow details.

Useful local commands:

  • pnpm run build
  • pnpm run test:unit
  • pnpm run test:integration
  • pnpm run test:e2e
  • pnpm run docs:screenshots

Additional docs:

  • docs/ARCHITECTURE.md
  • docs/CUSTOM_LOGS.md
  • docs/TESTING.md
  • docs/PUBLISHING.md
  • docs/TELEMETRY.md

Privacy & Security

  • Source code and Apex log content are not sent in telemetry.
  • Tokens are not logged by default.
  • When electivus.apexLogViewer.logging.trace is enabled, review extension output before sharing it externally.
  • The extension reuses your existing Salesforce CLI authentication and reads downloaded logs locally.

Telemetry

The extension may emit minimal, anonymized usage and error telemetry to improve reliability and performance. Telemetry respects VS Code's telemetry.telemetryLevel setting and is disabled automatically in Development and Test modes.

License

MIT © Electivus

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft