Fluentd v0.12.3 is released

Hi users!

We have just released Fluentd version 0.12.3. Here are the changes:

New features / Enhancement

  • parser: nginx and apache2 format can now parse access log without http-version: #535
  • filter_record_transformer: Allow non-string values like array / hash: #530
  • plugin: Add writable check for path related parameter: #401
  • command: -g and -G now works in embedded Ruby environment like Treasure Agent: #423

Bug fixes

  • buffer: Fix to flush a buffer by USR1 signal even on retrying: #531
  • buffer: Fix TimeSlicedOutput doesn't flush with SIGUSR1: #533
  • buffer: Fix broken calc_retry_wait if Integer is used for retry_wait parameter: #529
  • engine: Fix SIGHUP does not reload config: #537

This release is mainly for improving stability.

Support array / hash values in record_transformer filter

In old record_transfomer filter, values in <record> becomes string value. For example, if you have following configuration,

<filter debug.**>
  type record_transformer
  <record>
    hash {  
      "hostname": "${hostname}",
      "tag": "${tag}"
    }
  </record>
</filter>
<match debug.**>
  type stdout
</match>

We got a stringized result, not hash.

2015-01-16 00:10:20 +0900 debug.test: {"k":"v","hash":"{\"hostname\":\"server1\",\"tag\":\"debug.test\"}"}

Since this version, got hash value like below.

2015-01-16 00:10:20 +0900 debug.test: {"k":"v","hash":{"hostname":"server1","tag":"debug.test"}}

Improve buffer related signal handling

In old version, fluentd waits retry wait even if received USR1 signal. From now, fluentd flushes buffers immediately.

In addition, TimeSlicedOutput plugin, e.g. out_file, also flushes buffers by USR1.

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.