Log and display event data for debugging and monitoring workflows.
Overview
Log and display event data for debugging and monitoring workflows.
This step outputs event data to the logs in a readable JSON format. You can print the entire event, specific fields, or use a template to format the output. The step is invaluable during development for understanding data flow, debugging transformations, and monitoring event contents in production. All output is logged at INFO level with an optional custom prefix for easy filtering in log aggregation systems.
Examples
Debug entire event
Print the complete event structure for debugging
type: print
Monitor specific fields
Log only the fields you care about for monitoring
type: print
prefix: "[Monitor]"
fields:
- user.id
- action
- timestamp
Formatted log message
Create human-readable log messages with template substitution
type: print
prefix: "[Audit]"
template: "User ${user.email} performed ${action} at ${timestamp}"
Track API responses
Log API response data for debugging integrations
type: print
prefix: "[API Response]"
fields:
- http.status_code
- http.response.data
- http.request_id
Checkpoint in complex workflows
Add checkpoints to see data at different workflow stages
type: print
prefix: "[Checkpoint: After Transformation]"
fields:
- transformed.data
- meta.step_count
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
prefix | string | No | String prefix prepended to the serialized event when logging/printing (default '[PrintStep]').
Default: "[PrintStep]" |
fields | string | No | Optional list of event paths ('.'-separated) to include in the printed payload. |
template | string | No | Optional template string where ${path.to.value} tokens are substituted from the event. |
Base Configuration
These configuration options are available on all steps:
| Parameter | Type | Default | Description |
|---|---|---|---|
name | | null | Optional name for this step (for documentation and debugging) |
description | | null | Optional description of what this step does |
retries | integer | 0 | Number of retry attempts (0-10) |
backoff_seconds | number | 0 | Backoff (seconds) applied between retry attempts |
retry_propagate | boolean | false | If True, raise last exception after exhausting retries; otherwise swallow. |