Mpi Exec Logger
Inline progress prints without breaking your wire
- any
- any
When a long workflow silently produces nothing, the first question is always "did it even reach this point?" MpiExecLogger is the answer to that, and it's the least elegant but most reliable debugging tool in the pack: it sits in the middle of a wire, prints a message to the console, and passes whatever came through straight out the other side. You drop it inline, run once, and read the console to see how far your workflow actually got.
How it works
It's a pass-through with a side effect. The any input (any type) is logged and then returned unchanged on the any output - so the graph behaves exactly as if the node wasn't there, minus one console line. Two widgets control the line:
prefix- defaults to[LOG], prepended to the message so you can grep the console for your markers.message- the text to print.
The log line is simply prefix + " " + message. Nothing clever, which is the point: when you're chasing a "did this branch run?" bug, clever is the enemy.
Why it's better than the alternatives
The obvious alternative is the pack's MpiLogger, which sits at the end of a chain and has no output - useful for a terminal checkpoint but useless mid-graph, because a node with no output can't be inserted into a live wire. MpiExecLogger can. Insert it anywhere: after a loader, before a sampler, on the model wire. Since it outputs the exact object it received, the graph keeps working and you've just added a tripwire you can read in the server console. This matters most in workflows with MpiIfElse branches and blockers, where the honest answer to "which path ran?" is often "I have no idea" until you add logging.
One subtlety: the input uses ComfyUI's equality proxy, so it won't force re-execution or trigger false change-detection. In other words, it logs when the node is actually reached - it doesn't fabricate a run just because you placed it.
Where people get burned
The print goes to the console running the ComfyUI server (or the backend log), not to the browser UI. New users look at the frontend for the message, see nothing, and assume it's broken. Look in the terminal where you launched ComfyUI. Also, message-only logging is a feature you can lean on: put a fixed text like "reached stage 2" with no value dump, and you get cheap progress markers without the console flooding with huge values.
Install
From the MadPonyInteractive/ComfyUi-MpiNodes pack. ComfyUI Manager → search ComfyUi-MpiNodes (publisher mad-pony-interactive), install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/MadPonyInteractive/ComfyUi-MpiNodes
then restart. Zero dependencies, no model files. The pack is AGPL-3.0 (≤ 1.2.6 MIT) and is the node library behind the author's Cubric Vision app.
The verdict
This is a node you install once and forget - until the day a workflow "does nothing" and you're staring at a graph full of branches. Then it's the difference between an afternoon of guessing and a thirty-second answer. If you've ever had to splice a temporary Show Text node into a wire just to trace execution, this is that, done properly.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| any | * | — | |
| prefix | STRING | [LOG] | — |
| message | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| any | * | — |