Nodes/ComfyUI-QING/文本日志丨调试
ComfyUI Node

文本日志丨调试

ComfyUI's printf — with a timestamp and a level

By sheengoa·Created about a year ago·Updated 20 days ago· 16
文本日志丨调试
  • source
  • source
  • printed
message
title文本日志
levelINFO
include_timestamptrue
include_counterfalse

Every language has its print(), and ComfyUI has TextLogPrinter. It's the pack's dedicated "log this message to the terminal" node, aimed at the debugging workflow that comes up constantly: you want to see what a value is at a specific point in the graph without tearing the graph apart to do it.

Display name: "文本日志丨调试" ("text log / debug").

How it works

Give it a message and it prints that message to ComfyUI's console - the terminal window where you launched ComfyUI, not a widget on the canvas. Before the message it writes a header built from the node's own settings:

  • title - a label for the log line (default "文本日志"), so you can tell your print statements apart.
  • level - INFO / WARN / ERROR / DEBUG. Mostly organizational, but it's what makes your log lines greppable when the terminal is full of node spam.
  • include_timestamp (default on) - adds the time to the header.
  • include_counter (default off) - adds an incrementing counter, useful for looped or re-run workflows to tell runs apart.

The header is built, the message is printed (an empty message prints (空) - "(empty)" - rather than a blank line), and that's it.

The passthrough that makes it usable inline

Here's the part that separates this from a random print: the node has an optional source input of any type, and it returns that exact value as its source output untouched, alongside a printed BOOLEAN that's always True. So you can splice TextLogPrinter straight into the middle of a live connection - whatever was flowing through keeps flowing, and you get a log line every run at zero cost to the graph. That passthrough pattern is the standard trick of debug nodes in the plumbing layer (comfyui-node-plumbing.md): a node that only observes can stay in the graph while you iterate.

If you don't want the passthrough and just need to log a message, ignore source entirely - the message text box is all you need.

Inputs and outputs

  • message (required) - what to print. Multiline.
  • title, level, include_timestamp, include_counter (required) - header settings.
  • source (optional, any) - passthrough input; wire this to log and pass through in one go.
  • Outputs: source (passthrough, any) and printed (BOOLEAN, always true).

Installing it

TextLogPrinter ships in ComfyUI-QING, GAO-SHIQING's 79-node all-in-one pack:

cd ComfyUI/custom_nodes
git clone https://github.com/GAO-SHIQING/ComfyUI-QING
cd ComfyUI-QING
python install_dependencies.py

Restart ComfyUI. ComfyUI Manager users can search "ComfyUI-QING" and install from the GUI.

Common issues

  • "I see nothing on the canvas." That's expected - this node writes to the server console, not the UI. Look at the terminal where ComfyUI is running. This is the single most common confusion with the whole QING logging family.
  • Log lines all look the same across runs. Turn on include_counter (or timestamp if it's off) so you can tell runs apart.
  • Nothing prints at all. The node only fires when it executes, so if it's upstream of nothing that runs (it's an output node, so it should always run - but check it isn't bypassed or muted), you get silence.

When the ShowMePure-style canvas viewer isn't enough and you want a real trail in the logs, this is the node to reach for. It's a glorified print statement - and for debugging, that's exactly what you want.

CategoryQING/调试工具

Inputs (6)

NameTypeDefaultDescription
messageSTRING
titleSTRING文本日志
levelCOMBOINFO4 options: INFO, WARN, ERROR, DEBUG
include_timestampBOOLEANtrue
include_counterBOOLEANfalse
sourceopt*

Outputs (2)

NameTypeDescription
source*
printedBOOLEAN