Plugin Helper: Formatter

The formatter plugin helper manages the lifecycle of the formatter plugin.

Here is an example:

require 'fluent/plugin/output'

module Fluent::Plugin
  class ExampleOutput < Output
    Fluent::Plugin.register_output('example', self)

    # 1. Load formatter helper
    helpers :formatter

    # Omit `shutdown` and other plugin APIs

    def configure(conf)
      super

      # 2. Call `formatter_create` to create object
      @formatter = formatter_create(usage: 'awesome_formatter')
    end

    def format(tag, time, record)
      # 3. Call `format` method to format `record`
      @formatter.format(tag, time, record)
    end
  end
end

For more details, see the following articles:

Methods

formatter_create(usage: "", type: nil, conf: nil, default_type: nil)

  • usage: unique name required for multiple formatters

  • type: formatter type

  • conf: formatter plugin configuration

  • default_type: default formatter type

Examples:

JSON formatter example:

MsgPack formatter example:

Plugins using formatter

If this article is incorrect or outdated, or omits critical information, please let us know. Fluentd is an open-source project under Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.

Last updated

Was this helpful?