Fluentd
Search…
Plugin Helper: Compat Parameters
compat_parameters helper convert parameters from v0.12 to v1.0 style.
Here is an example:
1
require 'fluent/plugin/output'
2
3
module Fluent::Plugin
4
class ExampleOutput < Output
5
Fluent::Plugin.register_output('example', self)
6
7
# 1. Load `compat_parameters` helper
8
helpers :compat_parameters
9
10
# Omit `start`, `shutdown` and other plugin APIs
11
12
def configure(conf)
13
compat_parameters_convert(conf, :buffer, :inject, default_chunk_key: 'time')
14
super
15
16
# ...
17
end
18
end
19
end
Copied!

Methods

compat_parameters_convert(conf, *types, **kwargs)

    conf: Fluent::Configuration instance
    types: Following types are supported:
      :buffer
      :inject
      :extract
      :parser
      :formatter
    kwargs:
IMPORTANT: You cannot mix v1.0 and v0.12 styles in one plugin directive. If you mix v1.0 and v0.12 styles, v1.0 style is used and v0.12 style is ignored.
Here is an example:
1
<match pattern>
2
@type foo
3
# This flush_interval is ignored because <buffer> exist. No conversion.
4
flush_interval 30s
5
# This <buffer> parameters are used
6
<buffer>
7
@type file
8
path /path/to/buffer
9
retry_max_times 10
10
queue_limit_length 256
11
</buffer>
12
</match>
Copied!

buffer

old (v0.12)
new (v1)
note
buffer_type
@type
buffer_path
path
num_threads
flush_thread_count
flush_interval
flush_interval
try_flush_interval
flush_thread_interval
queued_chunk_flush_interval
flush_thread_burst_interval
disable_retry_limit
retry_forever
retry_limit
retry_max_times
max_retry_wait
retry_max_interval
buffer_chunk_limit
chunk_limit_size
buffer_queue_limit
queue_limit_length
buffer_queue_full_action
overflow_action
flush_at_shutdown
flush_at_shutdown
time_slice_format
timekey
also set chunk_key to time
time_slice_wait
timekey_wait
timezone
timekey_zone
localtime
timekey_use_utc
exclusive with utc
utc
timekey_use_utc
exclusive with localtime
This flat configuration:
1
buffer_type file
2
buffer_path /path/to/buffer
3
retry_limit 10
4
flush_interval 30s
5
buffer_queue_limit 256
Copied!
converts to:
1
<buffer>
2
@type file
3
path /path/to/buffer
4
retry_max_times 10
5
flush_interval 30s
6
queue_limit_length 256
7
</buffer>
Copied!
For more details, see Buffer Section Configuration.

inject

old (v0.12)
new (v1)
note
include_time_key
time_key
if true, set time_key
time_key
time_key
time_format
time_format
timezone
timezone
include_tag_key
tag_key
if true, set tag_key
tag_key
tag_key
localtime
localtime
exclusive with utc
utc
localtime
exclusive with localtime
This flat configuration:
1
include_time_key
2
time_key event_time
3
utc
Copied!
converts to:
1
<inject>
2
time_key event_time
3
localtime false
4
</inject>
Copied!
For more details, see Inject Plugin Helper API.

extract

old (v0.12)
new (v1)
note
time_key
time_key
time_format
time_format
timezone
timezone
tag_key
tag_key
localtime
localtime
exclusive with utc
utc
localtime
exclusive with localtime
This flat configuration:
1
include_time_key
2
time_key event_time
3
utc
Copied!
converts to:
1
<extract>
2
time_key event_time
3
localtime false
4
</extract>
Copied!
For more details, see Extract Plugin Helper API

parser

old (v0.12)
new (v1)
note
plugin
format
@type
types
types
converted to JSON format
types_delimiter
types
types_label_delimiter
types
keys
keys
CSVParser, TSVParser (old ValuesParser)
time_key
time_key
time_format
time_format
localtime
localtime
exclusive with utc
utc
localtime
exclusive with localtime
delimiter
delimiter
keep_time_key
keep_time_key
null_empty_string
null_empty_string
null_value_pattern
null_value_pattern
json_parser
json_parser
JSONParser
label_delimiter
label_delimiter
LabeledTSVParser
format_firstline
format_firstline
MultilineParser
message_key
message_key
NoneParser
with_priority
with_priority
SyslogParser
message_format
message_format
SyslogParser
rfc5424_time_format
rfc5424_time_format
SyslogParser
This flat configuration:
1
format /^(?<log_time>[^ ]*) (?<message>)+*/
2
time_key log_time
3
time_format %Y%m%d%H%M%S
4
keep_time_key
Copied!
converts into:
1
<parse>
2
@type regexp
3
pattern /^(?<log_time>[^ ]*) (?<message>)+*/
4
time_key log_time
5
time_format %Y%m%d%H%M%S
6
keep_time_key
7
</parse>
Copied!

formatter

old (v0.12)
new (v1)
note
plugin
format
@type
delimiter
delimiter
force_quotes
force_quotes
CSVFormatter
keys
keys
TSVFormatter
fields
fields
CSVFormatter
json_parser
json_parser
JSONFormatter
label_delimiter
label_delimiter
LabeledTSVFormatter
output_time
output_time
OutFileFormatter
output_tag
output_tag
OutFileFormatter
localtime
localtime
exclusive with utc
OutFileFormatter
utc
utc
exclusive with localtime
OutFileFormatter
timezone
timezone
OutFileFormatter
message_key
message_key
SingleValueFormatter
add_newline
add_newline
SingleValueFormatter
output_type
output_type
StdoutFormatter
This flat configuration:
1
format json
Copied!
converts to:
1
<format>
2
@type json
3
</format>
Copied!

Plugins using compat_parameters

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 modified 4mo ago