Skip to content

ConduitIO/conduit-connector-log

Repository files navigation

Conduit Connector Log

A Conduit destination connector that simply logs records.

Destination

The destination connector logs records using the built-in Conduit logger.

Example log message:

{"level":"info","record":{"position":"cjI=","operation":"create","metadata":{"foo":"bar","opencdc.version":"v1"},"key":{"my-id-field":1},"payload":{"before":nil,"after":{"my-payload-field":false}}}}

Note that the position field is base64 encoded, same goes for a key or payload that contains raw byte data.

Keep in mind that Conduit's log level needs to be configured lower or equal to the log level of the connector in order for the records to show up in the logs.

Configuration

version: 2.2
pipelines:
  - id: example
    status: running
    connectors:
      - id: example
        plugin: "log"
        settings:
          # The log level used to log records.
          # Type: string
          level: "info"
          # Optional message that should be added to the log output of every
          # record.
          # Type: string
          message: ""
          # Maximum delay before an incomplete batch is written to the
          # destination.
          # Type: duration
          sdk.batch.delay: "0"
          # Maximum size of batch before it gets written to the destination.
          # Type: int
          sdk.batch.size: "0"
          # Allow bursts of at most X records (0 or less means that bursts are
          # not limited). Only takes effect if a rate limit per second is set.
          # Note that if `sdk.batch.size` is bigger than `sdk.rate.burst`, the
          # effective batch size will be equal to `sdk.rate.burst`.
          # Type: int
          sdk.rate.burst: "0"
          # Maximum number of records written per second (0 means no rate
          # limit).
          # Type: float
          sdk.rate.perSecond: "0"
          # The format of the output record. See the Conduit documentation for a
          # full list of supported formats
          # (https://conduit.io/docs/using/connectors/configuration-parameters/output-format).
          # Type: string
          sdk.record.format: "opencdc/json"
          # Options to configure the chosen output record format. Options are
          # normally key=value pairs separated with comma (e.g.
          # opt1=val2,opt2=val2), except for the `template` record format, where
          # options are a Go template.
          # Type: string
          sdk.record.format.options: ""
          # Whether to extract and decode the record key with a schema.
          # Type: bool
          sdk.schema.extract.key.enabled: "true"
          # Whether to extract and decode the record payload with a schema.
          # Type: bool
          sdk.schema.extract.payload.enabled: "true"

How to build?

Run make build to build the connector.

Testing

Run make test to run all the unit tests.