Log

Last updated: 2 minutes read.

Prints a log event for each message. Messages always remain unchanged. The log message can be set using function interpolations which allows you to log the contents and metadata of messages.

# Config fields, showing default values
label: ""
log:
  level: INFO
  fields_mapping: |- # No default (optional)
    root.reason = "cus I wana"
    root.id = this.id
    root.age = this.user.age.number()
    root.kafka_topic = meta("kafka_topic")
  message: ""

The level field determines the log level of the printed events and can be any of the following values: TRACE, DEBUG, INFO, WARN, ERROR.

Structured Fields

It is also possible add custom fields to logs when the format is set to a structured form such as json or logfmt with the config field fields_mapping:

pipeline:
  processors:
    - log:
        level: DEBUG
        message: hello world
        fields_mapping: |
          root.reason = "to log"
          root.id = this.id
          root.age = this.user.age
          root.kafka_topic = meta("kafka_topic")          

Fields

level

The log level to use.

Type: string
Default: "INFO"
Options: FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL.

fields_mapping

An optional Bloblang mapping that can be used to specify extra fields to add to the log. If log fields are also added with fields then those values will override matching keys from this mapping.

Type: string

# Examples

fields_mapping: |-
  root.reason = "to log"
  root.id = this.id
  root.age = this.user.age.number()
  root.kafka_topic = meta("kafka_topic")  

message

The message to print.

This field supports interpolation functions.

Type: string
Default: ""