EBU Append To File
The dead-simple text logger for your workflow
EBU Append To File is exactly what it says on the tin: take a string, write it to a file. Append by default, overwrite if you ask. It's the pack's take on a text logger, and it's genuinely useful once you realize how often you want to record what this workflow just did without pasting it into a notepad.
It comes from the EBU Workflow pack (burnsbert/ComfyUI-EBU-Workflow), a small no-dependency collection that also includes the matching EBU Read From File and the fancier EBU File List Cache. Together they form a tiny text-file subsystem inside ComfyUI.
How it works
It's a terminal node (no outputs) that appends your text plus a trailing newline to a file. The path is built from two strings: directory_name (default store) and file_name (default output.txt). The directory is created if it doesn't exist (os.makedirs(..., exist_ok=True)), so you never hit a "folder not found" error.
The one real toggle is overwrite (BOOLEAN, default false). With overwrite off, every run appends - your file grows as a log. With it on, each run wipes the file and writes fresh. There's no in-between, and no truncate-vs-append choice; the boolean is the whole design.
Inputs
- string_to_append (STRING, multiline) - the text to write.
- directory_name (STRING, default "store") - folder, relative to ComfyUI's working directory.
- file_name (STRING, default "output.txt") - file within that folder.
- overwrite (BOOLEAN, default false) - append vs replace.
The path gotcha that bites everyone
The paths are relative to ComfyUI's working directory, which is typically your ComfyUI install root - not your output folder, and not the ComfyUI/output directory. So store/output.txt lands at ComfyUI/store/output.txt. Absolute paths work fine too; if you want your logs somewhere sane, set directory_name to an absolute path like /home/you/comfy-logs. The README doesn't shout about this, and it's the most common "where did my file go" moment with this pack.
Where it fits
The natural wiring: a Show Text node doesn't persist anything across runs, but this does. Log prompts, seeds, or ratings to a growing file, then read it back later with EBU Read From File, or feed it into EBU File List Cache to build a pool of past results you can sample from. It's also a decent audit trail - append every queue's seed and you can reproduce what happened after the fact.
Installing
Part of the EBU Workflow pack - no dependencies beyond Python's standard library, nothing to download. ComfyUI Manager (search "EBU Workflow"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/burnsbert/ComfyUI-EBU-Workflow
then restart ComfyUI.
Gotchas
- Appends always end with a newline, even if your string already has one - you can get double-spaced logs if you're not careful.
- There's no encoding control; it writes UTF-8 by default on modern Python. Fine unless you're interoping with legacy tooling.
- It's a write node, so it fires on every execution. A loop that runs it a hundred times produces a hundred lines - which is what you asked for, but worth knowing before you wire it into a batch.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| string_to_append | STRING | — | |
| directory_name | STRING | store | — |
| file_name | STRING | output.txt | — |
| overwrite | BOOLEAN | false | — |
Outputs (0)
No outputs