Skip to main content
Version: 1.3.0

Debug

Analytics

Synopsis

Logs debugging information for monitoring and troubleshooting pipelines.

Schema

- debug:
level: <string>
message: <string>
keyword: <string>
tag: <string>
description: <text>
if: <script>
ignore_failure: <boolean>
on_failure: <processor[]>
on_success: <processor[]>

Configuration

The following fields are used to define the processor:

FieldRequiredDefaultDescription
levelN"Debug"Debug level ("Debug", "Info", "Warning", "Error")
messageNfull documentCustom message to log (supports templates)
keywordN-Keyword for categorizing debug messages (supports templates)
tagN-Identifier for grouping related debug messages
descriptionN-Explanatory note
ifN-Condition to run
ignore_failureNfalseContinue processing if debug logging fails
on_failureN-Error handling processors
on_successN-Success handling processors

Details

Logs debugging information about the current log entry being processed. The processor captures the state of the log entry, adds custom messages and metadata, and stores this information for troubleshooting and diagnostic purposes.

note

Debug messages are stored in the pipeline configuration and do not modify the log entry itself. They are only visible in debugging tools and logs, not in the processed output.

Captured debug messages can be used to analyze pipeline behavior, verify data transformations, and diagnose issues in processing flows. The processor supports different logging levels and additional context through keywords and tags.

warning

Extensive use of debug processors in production pipelines may impact performance. Consider using conditional debugging with the if parameter to limit debug message generation to specific scenarios.

Examples

Basic

Adding simple debug message...

- debug:
level: "Info"
message: "Processing started"

logs the entire document with a message

Templated

Using field values in debug messages...

- debug:
level: "Debug"
message: "Processing user {{user.id}} with role {{user.role}}"
keyword: "user_processing"

creates dynamic context-aware logs

Conditional

Debugging only specific scenarios...

- debug:
level: "Warning"
message: "High value transaction: {{transaction.amount}}"
if: "getNumericValue(logEntry, 'transaction.amount') > 10000"
tag: "high_value"

logs only when condition is met

Multi-Point

Tracking progress at multiple stages creates a trace.

- set:
field: event.stage
value: "start"
- debug:
level: "Info"
message: "Initial state"
tag: "checkpoint_1"
# Other processors...
- set:
field: event.stage
value: "middle"
- debug:
level: "Info"
message: "Intermediate state"
tag: "checkpoint_2"
# More processors...
- set:
field: event.stage
value: "end"
- debug:
level: "Info"
message: "Final state"
tag: "checkpoint_3"