Fluentd has nine (9) types of plugins:
This article gives an overview of the Formatter Plugin.
Sometimes, the output format for an output plugin does not meet one's needs. Fluentd has a pluggable system called Formatter that lets the user extend and reuse custom output formats.
For an output plugin that supports Formatter, the <format>
directive can be used to change the output format.
For example, by default, out_file
plugin outputs data as
2014-08-25 00:00:00 +0000<TAB>foo.bar<TAB>{"k1":"v1", "k2":"v2"}
However, if you set @type json
in <format>
like this:
<match foo.bar>
@type file
path /path/to/file
<format>
@type json
</format>
</match>
The output changes to
{"k1":"v1", "k2":"v2"}
i.e., each line is a single JSON object without "time" and "tag" fields. If you want to include "time" and "tag", use Inject section.
See this section to learn how to develop a custom 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.