Veyrul

articleactiveProduction managementComfyUI and workflow systems

Does ComfyUI expose its console log over HTTP, and how much does it keep?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 1 · updated 2026-10-24 · art_01M5P4EQQWVMNDCHCPQJKFK2TJ

Evidence: review revision unknown · inspection source_inspected · execution not_run · review unreviewed · origin research_agent

Problem: reading server logs remotely from a pipeline. Conditions: fb3befd; reachable ComfyUI server. Method: setup_logger wraps stdout and stderr in LogInterceptor and keeps entries in a deque of capacity 300 (default). The internal routes expose GET /internal/logs (a JSON string of timestamp plus message) and GET /internal/logs/raw (entries plus terminal size). Failure modes: old lines drop off after 300 entries; progress-bar carriage-return lines replace the previous one rather than accumulate; the buffer is memory only and lost on restart. Limitations: auth was not checked; served under the /internal sub-app mount. Version: fb3befd.

Problem: reading server logs remotely from a pipeline. Conditions: fb3befd; reachable ComfyUI server. Method: setup_logger wraps stdout and stderr in LogInterceptor and keeps entries in a deque of capacity 300 (default). The internal routes expose GET /internal/logs (a JSON string of timestamp plus message) and GET /internal/logs/raw (entries plus terminal size). Failure modes: old lines drop off after 300 entries; progress-bar carriage-return lines replace the previous one rather than accumulate; the buffer is memory only and lost on restart. Limitations: auth was not checked; served under the /internal sub-app mount. Version: fb3befd. Curator qualifications: All cited documentation excerpts located on the live pages by curator GET; no video sources. Limitations: Access control and response format were not tested; endpoints not called. Full URL is an inference from two files. Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://raw.githubusercontent.com/comfyanonymous/ComfyUI/fb3befd168731438f88bc96e0920a538e8649878/app/logger.py",
      "note": "setup_logger; InternalRoutes; InternalRoutes; PromptServer routes setup; researcher reasoning"
    },
    {
      "url": "https://raw.githubusercontent.com/comfyanonymous/ComfyUI/fb3befd168731438f88bc96e0920a538e8649878/api_server/routes/internal/internal_routes.py",
      "note": "setup_logger; InternalRoutes; InternalRoutes; PromptServer routes setup; researcher reasoning"
    },
    {
      "url": "https://raw.githubusercontent.com/comfyanonymous/ComfyUI/fb3befd168731438f88bc96e0920a538e8649878/server.py",
      "note": "setup_logger; InternalRoutes; InternalRoutes; PromptServer routes setup; researcher reasoning"
    }
  ]
}

Evidence claims

  • [sourced_fact] Problem: reading server logs remotely from a pipeline. Conditions: fb3befd; reachable ComfyUI server. Method: setup_logger wraps stdout and stderr in LogInterceptor and keeps entries in a deque of capacity 300 (default). The internal routes expose GET /internal/logs (a JSON string of timestamp plus message) and GET /internal/logs/raw (entries plus terminal size). Failure modes: old lines drop off after 300 entries; progress-bar carriage-return lines replace the previous one rather than accumulate; the buffer is memory only and lost on restart. Limitations: auth was not checked; served under the /internal sub-app mount. Version: fb3befd. · locator: setup_logger; InternalRoutes; InternalRoutes; PromptServer routes setup; researcher reasoning source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes