π Log File
An annotated diary of your animation, written as you go
- frame_counter
- entry_0
- entry_1
- entry_2
- entry_3
- entry_4
- entry_5
- entry_6
- entry_7
Debugging a 900-frame animation by watching the console is miserable - by the time a value goes wrong at frame 400, the relevant line is long gone. Log File [Dream] is the pack's answer: a proper log that lands in a file, annotated with the frame number, progress, and timestamp, so you can scroll back through the entire run after it finishes. It's the terminal output you actually want for animation work.
How it works
You wire up to eight log_entry inputs into it - these come from the pack's logging nodes like Float to Log Entry, Int to Log Entry, String to Log Entry, or the log_entry output of Image Sequence Saver / Video Encoder. On each execution it merges them and appends any new entries to a file, tracking the last-seen timestamp per file so you don't get the same line written twice when you re-run the graph. Each entry is written with a header like:
[frame 42/300 (~14%), timestamp Tue 14:03:22]
Your log text here
---
The frame_counter input supplies the frame number and progress percentage.
The inputs that matter
- frame_counter - required; gives every entry its frame context.
- log_directory - where the file goes. Defaults to ComfyUI's output directory.
- log_filename - default
dreamlog.txt. - stdout - also print the log to the console (default on).
- active - master switch. Flip it off and the node does nothing at all, which is handy for leaving the node in a workflow without the file spam.
- clock_has_24_hours - 24-hour or AM/PM timestamps.
- entry_0 β¦ entry_7 - the optional log-entry inputs, up to eight of them.
There are no outputs - this is a terminal node (it's flagged OUTPUT_NODE), so it just sits at the end of the graph doing its thing.
Where it wires in
Collect the log_entry outputs from your savers, encoders, and any * to Log Entry nodes into one Log File, and you get a single chronological dump of a whole render: which frames saved, what the encoder produced, what your curves were outputting at each step. The pack's "Laboratory" example workflow uses exactly this pattern to observe what the generator nodes are doing.
Installing it
Ships with Dream Project Animation Nodes - ComfyUI Manager (search Dream Project Animation) or clone https://github.com/alt-key-project/comfyui-dream-project into custom_nodes, pip install -r requirements.txt, restart. No model downloads.
Common issues
Two things bite people. First, nothing appears if you wire raw numbers or strings into the inputs - the node only accepts log_entry type inputs, so you must convert values with the * to Log Entry nodes first. Second, the "only new entries" logic is timestamp-based, so if you re-run a graph where time moved backwards (system clock change) or you clear the file, the node can either skip or repeat lines. When in doubt, point it at a fresh log_filename per run.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| frame_counter | FRAME_COUNTER | β | |
| log_directory | STRING | /tmp/ComfyUI/output | β |
| log_filename | STRING | dreamlog.txt | β |
| stdout | BOOLEAN | true | β |
| active | BOOLEAN | true | β |
| clock_has_24_hours | BOOLEAN | true | β |
| entry_0opt | LOG_ENTRY | β | |
| entry_1opt | LOG_ENTRY | β | |
| entry_2opt | LOG_ENTRY | β | |
| entry_3opt | LOG_ENTRY | β | |
| entry_4opt | LOG_ENTRY | β | |
| entry_5opt | LOG_ENTRY | β | |
| entry_6opt | LOG_ENTRY | β | |
| entry_7opt | LOG_ENTRY | β |
Outputs (0)
No outputs