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
This project is licensed under the MIT License.
Support
Community support is available through GitHub Issues. Paid priority support, implementation help, and custom development are available from Suwapat.