Nodes/MF-PipoNodes/MF Save Log File
ComfyUI Node

MF Save Log File

Append a timestamped line to a log file, every time your workflow runs

By MomentFactory·Created 11 months ago·Updated 7 months ago· 1
MF Save Log File
    • log_content
    log_entry
    save_log_path/tmp/ComfyUI/output
    log_file_namelogfile
    enable_timestamptrue

    Somewhere around your fifth failed seed hunt, you start wanting a record of what you actually ran. MF Save Log File (MF_LogFile) is the writer half of MF PipoNodes' logging pair: it appends a timestamped entry to a plain text file every time it executes, and hands the updated log back to you as a string. No database, no JSON state file, no ceremony - just a line in a .txt file that accumulates as you work.

    It comes from the MF PipoNodes pack (Pierre Biet, Moment Factory - search "MF PipoNodes" in Manager). The pack is small and new enough that there's no community folklore around it yet, so what you read here is grounded in the shipped code, which is refreshingly simple.

    How it works

    The inputs that matter:

    • log_entry (required, multiline) - the text you're logging. This is what shows up in the file.
    • save_log_path - the directory, defaulting to your ComfyUI output folder.
    • log_file_name - defaults to logfile; the node appends .txt for you, so you end up with output/logfile.txt.
    • enable_timestamp - a boolean, on by default. Off, and your entry is written bare.

    Each execution appends (never overwrites), prefixed like this:

    [2026-08-16 14:30:15] step 42, seed 8839201, cfg 7.0
    
    

    Yes, there's a blank line after every entry - the code writes entry\n\n. It's harmless, but it's why your file grows with that extra breathing room.

    The node creates the directory if it doesn't exist, and because it re-runs every queue (its change-detection always returns NaN), each workflow execution logs exactly once rather than getting skipped by caching. The log_content output is the entire log after your new line was appended - handy if you want to write the history somewhere else.

    Where it earns its keep

    Three patterns from the pack's own docs are worth stealing:

    • Generation tracking. Log seed, step, and settings; when the final image is the one you wanted, the log tells you exactly how you got there. The community's "change one variable at a time with a fixed seed" discipline (it's the most repeated advice in the ecosystem) depends on actually keeping records like this.
    • LLM conversation history. Append each model response, then let MF Load Log File read it all back for the next prompt. This is the pack's headline use case, and it works.
    • Audit trail for batch jobs. Modulo Advanced gives you position + cycle; log it with the step counter and you can reconstruct where a batch died.

    Install

    cd ComfyUI/custom_nodes/
    git clone https://github.com/pierreb-mf/ComfyUI-MF-PipoNodes
    cd ComfyUI-MF-PipoNodes
    pip install -r requirements.txt
    

    Restart after. Or use Manager → "MF PipoNodes" → Install. Dependencies are just aiohttp and pyyaml - no model downloads.

    Gotchas

    • Writer first, reader second. MF Load Log File can only read what this node has already created.
    • Path mismatch is the #1 failure. Both nodes default to output/logfile.txt, so they match out of the box. If you customize one side, customize both.
    • Timestamps are local time with second precision - two entries in the same second are indistinguishable, which only matters if you log at high frequency.
    CategoryMF_PipoNodes/Logging

    Inputs (4)

    NameTypeDefaultDescription
    log_entrySTRING
    save_log_pathoptSTRING/tmp/ComfyUI/output
    log_file_nameoptSTRINGlogfile
    enable_timestampoptBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    log_contentSTRING