Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Log Analyzer ProNew to Visual Studio Code? Get it now.
Log Analyzer Pro

Log Analyzer Pro

molchanov.artem.1994

|
5 installs
| (0) | Free
High-performance log file viewer for multi-gigabyte files
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Log Analyzer Pro

A high-performance VS Code extension for viewing multi-gigabyte log files without freezing the editor.

Architecture

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│   VS Code UI    │────▶│   TypeScript     │────▶│   Rust Binary   │
│   (Webview)     │◀────│   Extension      │◀────│   (log-core)    │
└─────────────────┘     └──────────────────┘     └─────────────────┘
       HTML/JS              JSON-RPC                 mmap/fast I/O

Components

  1. Frontend (Extension): TypeScript code using VS Code's CustomReadonlyEditorProvider API
  2. Backend (Sidecar): Rust binary spawned as a child process for high-performance file operations
  3. Communication: JSON-RPC style messages over stdin/stdout

Why Rust?

  • Memory-mapped I/O: Opens files instantly regardless of size using mmap
  • Zero-copy operations: Reads file data without unnecessary copies
  • Parallel processing: Can leverage all CPU cores for indexing
  • No GC pauses: Consistent performance without garbage collection hiccups

Project Structure

/
├── extension/           # VS Code extension (TypeScript)
│   ├── src/
│   │   ├── extension.ts       # Extension entry point
│   │   ├── rustClient.ts      # Rust process communication
│   │   └── logEditorProvider.ts # Custom editor provider
│   ├── bin/                   # Built Rust binary (gitignored)
│   └── package.json
│
├── core/                # Rust backend
│   ├── src/
│   │   └── main.rs           # Main loop and command handlers
│   └── Cargo.toml
│
└── README.md

Development Setup

Prerequisites

  • Node.js >= 18
  • Rust >= 1.70
  • VS Code >= 1.85

Build

# Install npm dependencies
cd extension
npm install

# Build the Rust binary
npm run build:rust

# Compile TypeScript
npm run compile

# Or build everything at once
npm run build:all

Running & Debugging

  1. Open this folder in VS Code
  2. Press F5 to launch the Extension Development Host
  3. Open any .log or .txt file - it will open with Log Analyzer Pro
  4. Click "Load Info" to test the Rust backend connection

Build Scripts

Script Description
npm run compile Compile TypeScript
npm run watch Watch mode for TypeScript
npm run build:rust Build Rust binary (release)
npm run build:rust:debug Build Rust binary (debug)
npm run build:all Build everything

Protocol

Communication uses newline-delimited JSON over stdin/stdout.

Request Format

{
  "id": 1,
  "method": "open_file",
  "params": { "path": "/path/to/file.log" }
}

Response Format

{
  "id": 1,
  "result": { "success": true, "file_size": 1234567 }
}

Or on error:

{
  "id": 1,
  "error": "File not found"
}

Available Commands

Method Params Description
ping none Health check
open_file { path: string } Open a file with mmap
read_lines { start_line: number, count: number } Read lines from file
shutdown none Gracefully stop the backend

Roadmap

  • [ ] Build line index on file open
  • [ ] Virtual scrolling for millions of lines
  • [ ] Search with regex
  • [ ] Line filtering
  • [ ] Syntax highlighting for common log formats
  • [ ] Follow mode (tail -f)
  • [ ] Multi-file support
  • [ ] Bookmarks

License

MIT

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