LogCallStack

See exactly how your code got to a log line — without a debugger.
The Problem
A bug is reported in production. You open the log file and find the error. But then comes the real work:
- Which function logged this?
- What called that function?
- And what called that?
You end up jumping between files, grepping for class names, reading through unfamiliar code paths, and mentally building a picture of what called what. For anything beyond a trivial stack this takes minutes to hours — and you might still get it wrong.
The Solution
LogCallStack does that work for you. Click a log line, and the extension automatically traces back through your source code to show the full chain of calls that produced it — right inside VS Code.

No guessing. No grepping. No tab-switching. Just click and see the flow.
How It Works
- Pick any log line — right-click and choose Analyze Log Line.
- The extension reads the log entry and identifies the class, method, and thread.
- It then searches your workspace source files to find where that method is defined.
- From there it traces backwards — finding what called that method, and what called that, building the full call chain frame by frame.
- The LogCallStack panel shows the complete path from top-level entry point down to the line that wrote the log.
Click any frame to jump straight to that point in your source code.
What You See
LogCallStack
│
├─ Line 42 · Thread main · 3 frame(s) ← click to return to log line
│
├─ ● handleConnection() connection.cpp:88 ← the method that logged it
├─ ○ readSocket() network.cpp:210 ← what called it
└─ ○ pollEvents() event_loop.cpp:201 ← the entry point
Local Variables
├─ fd = 12
├─ timeout = 5000
└─ retries = 3
- Click a frame → jump to that exact line in source
- Local Variables panel → shows variable values extracted from the log message alongside declarations found in source
- Stack header → click to return to the original log line at any time
Features
- Zero setup — open a log file, right-click a line, done.
- Works offline — no AI, no cloud, no telemetry. Pure local static analysis.
- Fast — parallel source search across your entire workspace, results in under a second even on large codebases.
- Progressive results — frames appear as they are found; you are never staring at a blank panel.
- Custom log formats — built-in wizard to configure any format not auto-detected.
- 10+ languages and frameworks supported out of the box.
Supported Languages & Frameworks
Auto-detection requires zero configuration:
| Language / Platform |
Frameworks & Formats |
| Java / Kotlin |
Log4j, Logback, SLF4J, java.util.logging |
| Python |
logging module, structlog |
| Rust |
log4rs, env_logger, tracing |
| C / C++ |
syslog, printf / WriteLog wrappers |
| C# / .NET |
NLog, Serilog, log4net |
| JavaScript / TypeScript |
winston, pino, bunyan |
| Go |
zerolog, zap, slog |
| Android |
Logcat |
| Linux |
syslog RFC 3164, RFC 5424, systemd journald |
| Windows |
Minimal timestamp-only event log format |
Not seeing your format? Use Configure Log Format… to define a custom regex pattern.
Getting Started
- Open a folder in VS Code that contains both your source code and your log file.
- Open the log file.
- Click on a log line you want to investigate.
- Right-click → Analyze Log Line.
- The LogCallStack panel opens with the full call chain.
The right-click menu appears only in log files — never in source code files — so it stays out of the way.
Commands
| Command |
Access |
| Analyze Log Line |
Right-click menu, status bar |
| Configure Log Format… |
Right-click menu, Command Palette, panel toolbar |
| Clear Call Stack |
Command Palette, panel toolbar |
Configuration
| Setting |
Default |
Description |
logcallstack.logFormat |
"auto" |
"auto" to detect automatically, "custom" to use your own regex |
logcallstack.customPattern |
"" |
Custom regex with named groups — use the wizard to generate this |
logcallstack.maxFrames |
7 |
Maximum number of call stack frames to display |
Requirements
- VS Code 1.85 or later
- Source code must be open in the same workspace as the log file
License
© 2025 Suwapat. All rights reserved.
Free for personal, non-commercial use. Redistribution, modification, and commercial use are not permitted without explicit written permission from the copyright holder. See LICENSE for full terms.