Nodes/Orion4D_MetaNode/πŸ–¨οΈ Logger (Debug Console)
ComfyUI Node

πŸ–¨οΈ Logger (Debug Console)

The node that yells at your console so you don't have to guess

By orion4dΒ·Created 5 months agoΒ·Updated 5 months agoΒ· 5
πŸ–¨οΈ Logger (Debug Console)
  • any_input
    β—„prefixDEBUGβ–Ί

    Every ComfyUI user eventually hits the same wall: a node is doing something, and you have no idea what it's actually receiving. Is that image really a batch of 4? Is that string actually empty? Is that wire carrying a list or a tensor? The Logger answers all of it by printing the truth straight to your ComfyUI console. You wire anything into it, run the workflow, and it tells you the type, the shape, and the value - then goes dark. It's the debugger you didn't know you needed.

    The name "Debug Console" in the display title isn't decorative. This node is a terminal-first tool: it's an output node (OUTPUT_NODE = True), it returns nothing, and its entire job is to print a structured line to the server log. If you've been staring at a tensor with no idea whether it's [1, 512, 512, 3] or [4, 512, 512, 3], this is your answer.

    How it works

    Feed it anything on any_input and give it a prefix label, and on each run it prints a line like this to the console:

    [PyCodeMax Logger | DEBUG] Type: Tensor | Info: Shape Tensor: torch.Size([1, 512, 512, 3])
    

    The clever bit is how it summarizes different kinds of data:

    • Lists β†’ prints the element count.
    • Tensors (anything with a .shape) β†’ prints the full shape, which is the single most useful thing for image and latent debugging.
    • Anything else β†’ prints the first 500 characters of its string representation, so a giant string doesn't flood your terminal.

    That 500-character cap is deliberate - it keeps the console usable when you log something huge by accident.

    Inputs

    • any_input (*) - literally anything: an image, latent, string, int, list, whatever.
    • prefix (STRING, default "DEBUG") - your label, so you can drop several Loggers in one workflow and tell them apart in the output.

    No outputs. It's a dead end by design, so put it at the end of whatever branch you're inspecting.

    When you'd reach for it

    Two situations. First, the "what is actually in this wire" moment - check the shape of a tensor before it hits a VAE decode, or confirm a List Packer really produced the list you think it did. Second, multi-branch debugging: sprinkle several Loggers with distinct prefixes (IMG, PROMPT, SEED), run once, and read the whole story from the terminal instead of guessing at node previews.

    Troubleshooting

    • It prints to the server console, not your browser. On Windows that's the terminal running main.py; on a typical desktop install it's the command window that launched ComfyUI. If you don't see output, you're looking in the wrong place.
    • Values are truncated at 500 chars for non-tensor, non-list data. Long strings get cut, which is usually fine for debugging but means it's not a dump tool.
    • It's an output node, so it runs last in its branch by design - that's expected, not a bug.

    Installing it

    It's part of Orion4D_MetaNode, so it arrives with the whole pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/orion4d/Orion4D_MetaNode
    

    Or install via ComfyUI Manager (search "Orion4D_MetaNode") and restart. It lives under Orion4D_MetaNode β†’ Utils. No extra dependencies, no model files. And one honest note: this is a small, young, one-developer pack, so treat the Logger as a handy utility rather than a community standard - but for the specific job of "what's in this wire," it works.

    CategoryOrion4D_MetaNode/Utils

    Inputs (2)

    NameTypeDefaultDescription
    any_input*β€”
    prefixSTRINGDEBUGβ€”

    Outputs (0)

    No outputs