DEV Community

Daniel Jonathan
Daniel Jonathan

Posted on

Debug Logic Apps in Docker Without the Hassle

The Problem

You're running Logic Apps in Docker containers locally. It's great for development - fast, offline, cost-effective. But there's one big problem:

You can't see what's happening inside your workflows.

Want to check if a workflow ran? Did it succeed or fail? What data went through each step?

You have to:

  • Dig through Docker logs with CLI commands
  • Open Azure Storage Explorer
  • Navigate through Azurite's internal tables
  • Parse raw JSON manually
  • Repeat this for every container you're running

Why This Is Hard

Running containers is easy (docker-compose up). Debugging them is not.

Even if you know Docker and Storage Explorer, Logic Apps has another layer of complexity:

  • Uses Azure Storage Tables and Queues internally to store workflow state and run history
  • The structure is undocumented and complex - no one knows which table/queue contains what
  • Creates new tables dynamically over time
  • You need to reverse-engineer the format just to find your workflow inputs/outputs

Most developers can start containers. Very few can efficiently debug what happens inside them.

Full confession: Even I don't have that expertise. πŸ˜… I couldn't figure out which table holds what data, so I built a tool that doesn't care - it just uses the Management API like the Azure Portal does. Problem solved without becoming a storage archaeologist!

How It Actually Works (The Smart Way)

Instead of digging through storage, the extension talks directly to Logic Apps' Management API:

  1. Gets the master key - GET /admin/host/systemkeys/_master
  2. Lists all workflows - GET /runtime/webhooks/workflow/api/management/workflows?api-version=2016-06-01
  3. Fetches run history - GET /runtime/webhooks/workflow/api/management/workflows/{workflowName}/runs?api-version=2016-06-01
  4. Retrieves run details - GET /runtime/webhooks/workflow/api/management/workflows/{workflowName}/runs/{runId}?api-version=2016-06-01
  5. Gets callback URLs - POST /runtime/webhooks/workflow/api/management/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl?api-version=2018-11-01

LogicApps VSCode extension uses the same APIs. No storage expertise needed. Just clean HTTP calls to get exactly what you need.

The Solution

Logic Apps Local Dev Tools - A VSCode extension that gives you a simple GUI for all your local Logic Apps containers.

What It Does

1. Unified Dashboard

  • See all your containers (ports 7071, 8071, 9071, etc.) in one view
  • No switching between terminals or tools

2. Run History Browser

  • Click on any workflow to see all runs
  • See which succeeded, failed, or are still running
  • Just like the Azure Portal

3. View Payloads Instantly

  • Click any action to see inputs and outputs
  • Formatted JSON - no manual parsing
  • No Storage Explorer needed

4. One-Click Callback URLs

  • Click "Get URL" to copy the callback URL
  • Automatically fixes internal container IPs
  • Ready to paste into Postman

5. Debug Complex Workflows

  • Expand loops (ForEach, Until) to see each iteration
  • Visual flow diagrams
  • Collapsible views for large workflows

Real Example

Before: 5+ Minutes Per Test

1. Open docker-compose.yml β†’ find the port
2. Run: docker logs container-name | grep "callback"
3. Scroll through 500+ lines
4. Build the callback URL manually
5. Test with Postman
6. "Did it work? What was the input?"
7. Open Storage Explorer β†’ Connect to Azurite
8. Browse tables β†’ Find the right run
9. Copy raw JSON β†’ Paste into editor
10. Repeat for each container
Enter fullscreen mode Exit fullscreen mode

After: 30 Seconds

1. Open extension β†’ See all containers
2. Click "Get URL" β†’ Paste into Postman and execute it.
3. Now, click on the run β†’ See all steps
4. Click on any step β†’ See formatted inputs/outputs
5. Done
Enter fullscreen mode Exit fullscreen mode

No Docker commands. No Storage Explorer. No JSON parsing.

Who This Is For

βœ… Use this if:

  • You develop Logic Apps locally in Docker
  • You run multiple Logic Apps containers
  • You want quick feedback without opening multiple tools
  • You don't want to be a Docker/Storage expert just to debug

❌ Don't use this for:

  • Production monitoring (local development only)
  • If you don't use Docker locally

The Bottom Line

You shouldn't need Docker/Storage expertise to debug your Logic Apps.

This tool knows the Logic Apps internals so you don't have to. One GUI. All containers. All workflow data. Zero expertise required.

Sneak Peak(Gif):


Install: Search for "Logic Apps Local Dev Tools" in VSCode marketplace

Get Started:

  1. Install the extension
  2. Run your Logic Apps in Docker (port 7071)
  3. Run Azurite storage emulator
  4. Open the extension - that's it!

Top comments (0)