Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>Flutter Log ExplorerNew to Visual Studio Code? Get it now.
Flutter Log Explorer

Flutter Log Explorer

Omprakash Chauhan

om-chauhan.dev
|
1 install
| (0) | Free
Real-time structured log viewer and search explorer for Flutter & Dart. Zero-config capture from Debug Adapter (DAP) & Dart VM Service with smart classification, filters, and deduplication.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Flutter Log Explorer

Flutter Log Explorer Icon

Structured Capture, Smart Classification & Real-Time Log Explorer for Flutter & Dart in VS Code

VS Code Version Flutter Dart Local First License: MIT


🚀 Overview

Flutter Log Explorer is a high-performance VS Code extension designed to replace the messy, unstructured, and noisy Debug Console when developing Flutter and Dart applications.

It automatically captures logs via both the Debug Adapter Protocol (DAP) and the Dart VM Service WebSocket, intelligently reassembles fragmented output chunks, deduplicates overlapping streams, and presents your logs in an interactive, color-coded, real-time viewer right in your VS Code Activity Bar.


✨ Why Flutter Log Explorer?

Feature Default Debug Console Flutter Log Explorer
dart:developer log() support ⚠️ Often stripped or missing ✅ Captured in full via VM Service
Output Chunk Reassembly ❌ Chunks can break mid-line ✅ Multi-chunk LineBuffer normalization
Log Classification ❌ Flat monochrome text ✅ Automatic ERROR, WARN, INFO, NETWORK, FIREBASE, NAV
Stream Controls ❌ Uncontrolled auto-scrolling ✅ Pause/Resume, Scroll-Lock, "↓ New logs" pill
Hot Reload / Restart Tracking ❌ Blended output stream ✅ Generational awareness (Hot Reload vs Hot Restart)
Memory & Performance ⚠️ Can freeze on heavy loops ✅ Configurable ring-buffer store (default 50,000 logs)
Privacy & Security ✅ Local ✅ 100% Local-first, zero telemetry, zero cloud calls

⚡ Quick Start (1-Minute Setup)

1. Requirements

  • VS Code v1.85.0 or higher
  • Dart extension (Dart-Code) & Flutter SDK installed

2. Usage

  1. Open any Flutter project in VS Code.
  2. Click the Flutter Log Explorer icon on the Activity Bar (left sidebar).
  3. Press F5 to start debugging your Flutter app as usual.
  4. Watch structured, classified logs stream in real-time!
import 'dart:developer' as developer;

// Standard prints
print("User logged in successfully");

// Rich structured logs (captured via Dart VM Service)
developer.log(
  "Failed to fetch user profile",
  name: "auth.service",
  level: 1000, // Mapped automatically to ERROR
  error: Exception("401 Unauthorized"),
);

🔍 Key Features

📡 Zero-Config Dual-Collector Engine

Captures logs simultaneously from:

  • Debug Adapter Protocol (DAP): Intercepts stdout, stderr, process output, and framework diagnostic events.
  • Dart VM Service WebSocket: Connects directly to the Dart VM Service to capture dart:developer log() entries with custom levels, logger names, error objects, and stack traces.

🏷️ Intelligent Automatic Classification

Logs are analyzed and tagged with contextual metadata:

  • 🔴 ERROR / FATAL: Unhandled exceptions, error objects, 5xx responses, RenderFlex errors.
  • 🟡 WARNING: Deprecations, framework alerts, 4xx responses.
  • 🔵 INFO / DEBUG: Standard print(), debugPrint(), debug events.
  • 🌐 NETWORK: HTTP / REST / GraphQL queries, status codes, endpoints.
  • 🧭 NAVIGATION: Route changes, push/pop events, deep links.
  • 🔥 FIREBASE: Authentication, Firestore, Remote Config, Analytics logs.
  • ⚙️ SYSTEM: App lifecycle, debug session start/stop, hot reload, hot restart.

🛡️ Smart Deduplication & Chunk Assembly

When the same log line is emitted through both DAP and the VM Service, the built-in Deduplicator matches and suppresses the duplicate within a 1.5s sliding window while preserving naturally repeating application logs.

⏸️ Interactive Stream Controls

  • Pause / Resume: Freeze the live view to inspect logs while the background collector continues buffering.
  • Auto-Scroll Lock: Scrolling up locks the view; a "↓ New logs" pill alerts you when new lines arrive.
  • Clear Logs: Instant reset of buffer and counters.

🏗️ Architecture

Flutter Application (F5 Debug Session)
       │
       ├────────────────────────────────────────┐
       ▼                                        ▼
Debug Adapter Protocol (DAP)            Dart VM Service
(stdout / stderr / framework)        (Logging / Stdout / Stderr)
       │                                        │
       ▼                                        ▼
  LineBuffer                               LineBuffer
       │                                        │
       └───────────────────┬────────────────────┘
                           ▼
                     Deduplicator
                           ▼
                  LogStore (In-Memory)
                           ▼
               Flutter Log Explorer Panel
               (VS Code Activity Bar Webview)

⚙️ Configuration Settings

Customize Flutter Log Explorer via VS Code Settings (Cmd+, or Ctrl+, > search flutterLogExplorer):

Setting Type Default Description
flutterLogExplorer.maxLogs number 50000 Maximum number of logs retained in memory. Oldest logs are evicted first; error counters and session history remain intact.
flutterLogExplorer.vmService.enabled boolean true Connects to the Dart VM Service WebSocket when detected to capture dart:developer log() streams.
flutterLogExplorer.diagnostics.logDapTraffic boolean false Dumps raw Debug Adapter Protocol traffic to the "Flutter Log Explorer (Diagnostics)" Output channel for troubleshooting.

⌨️ Available Commands

Access these commands from the VS Code Command Palette (Cmd+Shift+P / Ctrl+Shift+P):

  • Flutter Log Explorer: Open — Focus and open the Log Explorer view.
  • Flutter Log Explorer: Clear Logs — Clear all logs and reset counters.
  • Flutter Log Explorer: Pause Collection — Temporarily pause timeline rendering.
  • Flutter Log Explorer: Resume Collection — Resume live log streaming.
  • Flutter Log Explorer: Restart Collector — Reconnect to active debug sessions and VM Service.

❓ FAQ & Troubleshooting

Why do some logs show up under WARNING or ERROR automatically?

The built-in classifier scans log content and VM Service levels. Lines containing exceptions, stack traces, 5xx HTTP codes, or level >= 1000 are labeled as ERROR, while 4xx codes or framework warnings are labeled as WARNING.

Does Flutter Log Explorer work with physical devices and emulators?

Yes! As long as you run your Flutter app in debug mode (F5) through VS Code on an Android Emulator, iOS Simulator, physical device, macOS, Windows, Linux, or Web, logs are captured automatically.

Are my logs private?

100% Yes. Flutter Log Explorer operates entirely locally within your VS Code instance. No analytics, no telemetry, and no external network calls are made. Logs are stored strictly in local memory and are never persisted to third-party servers.

Where can I see raw adapter diagnostic logs?

Open the Output panel in VS Code (View > Output) and select "Flutter Log Explorer (Diagnostics)" from the dropdown.


🛣️ Roadmap

  • [x] Milestone 1: Zero-config DAP + Dart VM Service collectors, in-memory store, live Webview stream, deduplication, pause/resume.
  • [x] Milestone 2: Regex classifier engine, categorized severity tags (Network, Firebase, Navigation, System).
  • [ ] Milestone 3: Advanced search syntax (level:error category:network text), stack-trace click-to-source navigation.
  • [ ] Milestone 4: Session selector, incident reporting, network payload viewer & sensitive data auto-redaction.
  • [ ] Milestone 5: Export logs (JSON, CSV, Plaintext), custom user classification rules.

📄 License

This extension is licensed under the MIT License. Developed with ❤️ for the Flutter & Dart community.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft