Nodes/BV Node Pack/πŸŒ€ BV Text Log Writer
ComfyUI Node

πŸŒ€ BV Text Log Writer

Write any string to a file, keep your LLM receipts

By BlackVortexAIΒ·Created 8 months agoΒ·Updated a day agoΒ· 6
πŸŒ€ BV Text Log Writer
    • text
    • file_path
    • status
    β—„textβ€”β–Ί
    β—„log_nameregional-enhancer.txtβ–Ί
    β—„modetimestampedβ–Ί
    β—„write_enabledtrueβ–Ί

    Some nodes earn their place by doing something clever. This one earns its place by doing something boring, correctly, every single time. BV Text Log Writer takes any string in your graph and appends it to a text file in ComfyUI's output directory. That's it - but it's the node you reach for the moment you're debugging anything that produces text you can't see.

    The killer use case is the BV Node Pack prompt-enhancer pipeline, where it was clearly born. BV Regional Prompt Enhancer exposes diff_json and diagnostics - exactly the stuff you want a permanent record of. Wire those into this node and every rewrite gets written to disk with a timestamp, so you can audit what the LLM proposed across a hundred runs without scrolling a log viewer or trusting a text node that's been orphaned since yesterday. But it's fully generic: sampler params, seed histories, prompt text from any node, whatever your workflow produces as a string.

    The three things to set

    • text - the string to write. It's a forced input, so you can't type into it; it has to come from a node, which is correct behavior for a logging node.
    • log_name - the filename, default regional-enhancer.txt. It lands in ComfyUI/output/bv_logs/.
    • mode - this is the one that matters:
      • overwrite - replaces the file each run. Good for "current state" logs.
      • append - adds a timestamped --- ... --- separator then your text. Good for accumulating history in one file.
      • timestamped - writes each run to a fresh file like regional-enhancer-20260821T101530.123456Z.txt. The one you want for per-run receipts.

    write_enabled is the off switch - flip it false and the node passes text through without touching disk, which is handy when you're experimenting and don't want 400 log files yet.

    What comes back

    The node is marked as an output node (shows in the UI, not the graph), and it passes everything through so it slots into a chain without breaking it: text comes out unchanged, plus file_path (the actual written path, or empty when disabled) and status ("Wrote ..." or "Writing disabled"). Under the hood it's a bit more careful than most homebrew loggers - filenames get sanitized against Windows reserved names and path tricks, and overwrite mode writes to a temp file and atomically renames it, so you never catch a half-written log mid-read.

    One behavior worth knowing: the node's IS_CHANGED always reports a change, so it executes on every queue - identical input or not. That's deliberate and right for a logger; you want a fresh timestamp each run, not a cached "nothing changed."

    Installing

    It's a utility in a pack - search BV Node Pack in ComfyUI Manager, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/BlackVortexAI/bv_nodepack.git
    

    Restart ComfyUI and hard-refresh the browser (Ctrl + F5) so the pack's frontend extension loads. No dependencies, no models, no API keys - if you can run ComfyUI, this node works. The only thing to remember is where the logs live (ComfyUI/output/bv_logs/), because the file_path output will happily tell you, and forgetting it is the one way this node can still confuse you.

    CategoryπŸŒ€ BV Node Pack/utils

    Inputs (4)

    NameTypeDefaultDescription
    textSTRINGβ€”
    log_nameSTRINGregional-enhancer.txtβ€”
    modeCOMBOtimestamped3 options: overwrite, append, timestamped
    write_enabledBOOLEANtrueβ€”

    Outputs (3)

    NameTypeDescription
    textSTRINGβ€”
    file_pathSTRINGβ€”
    statusSTRINGβ€”