π String to Log Entry
Get your text into the pack's logging chain
- log_entry
Debugging an animation workflow means watching numbers change frame by frame, and the Dream Project pack has a tidy answer for that: a LOG_ENTRY type that flows through the graph and eventually gets written out by a Log File [Dream] node. String to Log Entry [Dream] is the on-ramp that takes a plain string and wraps it into one of those log entries - which matters more than it sounds, because the logging nodes only accept LOG_ENTRY, not raw strings.
Mechanically it's trivial: it takes text plus an optional label, and produces label + ": " + text as a timestamped log entry. The label is the part people underuse - give every value a name like "zoom" or "seed" and your log file reads like a table instead of a wall of numbers. The node is flagged as an output node, which in ComfyUI just means it terminates a branch; it still emits a log_entry you can wire onward into a Log Entry Joiner or straight into Log File.
The inputs that matter
- text - the string to log. Wire it from anything that outputs text: a curve's INT, a tokenizer, whatever.
- label - optional prefix. Set it, seriously.
"zoom: 1.34"is infinitely more readable than"1.34"when you're scanning 300 frames.
Output is a single log_entry. Pair it with Log File [Dream] (which needs a frame counter and a filename) to actually see anything on disk, or merge several entries with Log Entry Joiner [Dream] first.
Installing it
Comes with Dream Project Animation Nodes - install via ComfyUI Manager (search "Dream Project Animation Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/alt-key-project/comfyui-dream-project.git
cd comfyui-dream-project
pip install -r requirements.txt
Restart ComfyUI. Watch the numpy<2.0 pin if pip touches your env.
Common issues
The beginner trap is wiring a string into the Log File node directly and getting a type error - the log chain only speaks LOG_ENTRY, so you need this (or Float/Int to Log Entry) as the bridge. Note that unlike the pack's float/int variants, this one has no type conversion and just dumps whatever string you feed it. And the pack-wide honesty note: the README says it's unmaintained, but a text-wrapper this small runs fine on current ComfyUI.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | β | |
| labelopt | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| log_entry | LOG_ENTRY | β |