Skip to main content

ConsoleExporter

Outputs trace events to the console for debugging and development.

Constructor​

new ConsoleExporter(logger?: IMastraLogger)

Properties​

readonly name = 'tracing-console-exporter';

Methods​

exportEvent​

async exportEvent(event: AITracingEvent): Promise<void>

Exports a tracing event to the console.

shutdown​

async shutdown(): Promise<void>

Logs shutdown message.

Output Format​

The exporter outputs different formats based on event type:

SPAN_STARTED​

🚀 SPAN_STARTED
Type: [span type]
Name: [span name]
ID: [span id]
Trace ID: [trace id]
Input: [formatted input]
Attributes: [formatted attributes]
────────────────────────────────────────

SPAN_ENDED​

✅ SPAN_ENDED
Type: [span type]
Name: [span name]
ID: [span id]
Duration: [duration]ms
Trace ID: [trace id]
Input: [formatted input]
Output: [formatted output]
Error: [formatted error if present]
Attributes: [formatted attributes]
────────────────────────────────────────

SPAN_UPDATED​

📝 SPAN_UPDATED
Type: [span type]
Name: [span name]
ID: [span id]
Trace ID: [trace id]
Input: [formatted input]
Output: [formatted output]
Error: [formatted error if present]
Updated Attributes: [formatted attributes]
────────────────────────────────────────

Usage​

import { ConsoleExporter } from "@mastra/core/ai-tracing";
import { ConsoleLogger, LogLevel } from "@mastra/core/logger";

// Use default logger (INFO level)
const exporter = new ConsoleExporter();

// Use custom logger
const customLogger = new ConsoleLogger({ level: LogLevel.DEBUG });
const exporterWithLogger = new ConsoleExporter(customLogger);

Implementation Details​

  • Formats attributes as JSON with 2-space indentation
  • Calculates and displays span duration in milliseconds
  • Handles serialization errors gracefully
  • Logs unimplemented event types as warnings
  • Uses 80-character separator lines between events

See Also​

Documentation​

Other Exporters​

Reference​