RootCX
Docs
Pricing
RootCX/RootCX
Introduction
What is RootCX?How it Works
Build
Getting StartedApplicationAI AgentIntegrationDeploying
Platform
CoreAuthenticationRBACData APISecret VaultJob QueueAudit LogReal-time Logs
Developers
QuickstartReact SDKBackend & RPCManifest ReferenceREST APISelf-Hosting
RootCXPlatformLogs

Real-time Logs

The Core captures stdout and stderr from backend processes and broadcasts them via an in-memory SSE channel. Ephemeral: logs are not persisted to disk.

Log Levels

Level Source
stdout console.log() from the backend process.
stderr console.error() from the backend process.
system Core lifecycle events (start, stop, restart, crash).

Using Studio

The Console panel shows live logs from all running backends. Logs stream in real time with color-coded levels. Use the Command Palette to clear the console.

Using Code

SSE Endpoint

GET /api/v1/apps/{appId}/logs
Authorization: Bearer <token>

Streams text/event-stream with JSON payloads:

{ "level": "stdout", "message": "RPC call received" }
{ "level": "stderr", "message": "Failed to connect" }
{ "level": "system", "message": "Worker restarted" }

Logging from Your Backend

// Standard output → broadcasts as [stdout]
console.log("Processing:", method);

// Standard error → broadcasts as [stderr]
console.error("Connection failed");

// Structured IPC log with custom level
process.stdout.write(JSON.stringify({
  type: "log", level: "info", message: "Event occurred"
}) + "\n");

Client Example

const res = await fetch(`/api/v1/apps/myapp/logs`, {
  headers: { Authorization: `Bearer ${token}` },
});

const reader = res.body!.getReader();
const decoder = new TextDecoder();
while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  console.log(decoder.decode(value));
}
PreviousAudit LogNextQuickstart

On this page

Log Levels
Using Studio
Using Code