Fluentd v0.12.29 has been released

Hi users!

We have released Fluentd version 0.12.29. Here are the changes:

New features / Enhancement

  • in_tail: Add from_encoding parameter: #1067
  • filter: Port parser filter to v0.12: #1203
  • config: New config_param options to specify deprecated/obsoleted parameters: #1186

Bug fixes

  • config: fix to raise ConfigError for type missing, and its tests: #1202
  • filter_record_transformer: Fix to prevent overwriting reserved placeholder keys such as tag: #1176

Port parser filter

parser filter of fluent-plugin-parser is for parsing one field of event record and updates event record itself with parsed result. This is useful for some use cases, e.g. docker logging driver, lazy log parsing at aggregator and etc.

Now, these use cases are popular and many users install fluent-plugin-parser on their environment. So we decided to port parser filter into core plugins to reduce extra setup cost.

Here is a configuration example for Docker loggin driver:

<filter docker.**>
  @type parser
  key_name log
  format json
  reserve_data true

config: New config_param options to specify deprecated/obsoleted parameters

This is for plugin developers. Sometimes we want to deprecate plugin parameters, e.g. replace internal implementation with new library, add more useful parameter, etc. For such cases, we introduced new 2 options to config_param.

  • deprecated: fluentd shows warn message for deprecated parameter. A plugin should work with deprecated.
  • obsoleted: fluentd raises ConfigError for obsoleted parameter.

These options accept string value as a message. Here is code example:

config_param :param1, :integer, default: 10, deprecated: "User new_param1 instead"
config_param :param2, :string, default: nil, obsoleted: "Use new_param2 instead"

Here is log example:

2016-09-07 15:50:16 +0900 [warn]: 'param1' parameter is deprecated: Use new_param1 instead
2016-09-07 15:50:16 +0900 [error]: config error file="test.conf" error="'param2' parameter is already removed: Use new_param2 instead"

If you want to remove existing parameter, use following step:

  • Add deprecated to parameter and release new version
  • Release several minor versions
  • Add obosoleted to parameter and release new version
  • Relese new major version and remove parameter

Lastly, v0.12.29 docker image has also been available on Docker Hub.

Happy logging!

Subscribed to the RSS feed here.

Written by Masahiro Nakagawa

Masahiro (@repeatedly) is the main maintainer of Fluentd. He works on Fluentd development and support full-time. He is also a committer of the D programming language.