Skip to content

Commit be4d354

Browse files
committed
Use enum type on partial_metadata_format parameter
Signed-off-by: Hiroshi Hatake <[email protected]>
1 parent 7963a93 commit be4d354

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,15 @@ Use partial metadata to concatenate multiple records
9797

9898
If true, keep partial metadata
9999

100-
**partial\_metadata\_format** (string) (optional)
100+
**partial\_metadata\_format** (enum) (optional)
101+
102+
Input format of the partial metadata (fluentd or journald docker log driver)
101103

102104
Configure based on the input plugin, that is used.
103105
The docker fluentd and journald log drivers are behaving differently, so the plugin needs to know, what to look for.
104106
Use `docker-journald-lowercase`, if you have `fields_lowercase true` in the `journald` source config
105107

106-
Valid options: `docker-fluentd`, `docker-journald`, `docker-journald-lowercase`
108+
Available values: `docker-fluentd`, `docker-journald`, `docker-journald-lowercase`
107109

108110
Default value is `docker-fluentd`
109111

lib/fluent/plugin/filter_concat.rb

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class ConcatFilter < Filter
3535
desc "Use partial metadata to concatenate multiple records"
3636
config_param :use_partial_metadata, :bool, default: false
3737
desc "Input format of the partial metadata (fluentd or journald docker log driver)"
38-
config_param :partial_metadata_format, :string, default: "docker-fluentd"
38+
config_param :partial_metadata_format, :enum, list: [:"docker-fluentd", :"docker-journald", :"docker-journald-lowercase"], default: :"docker-fluentd"
3939
desc "If true, keep partial metadata"
4040
config_param :keep_partial_metadata, :bool, default: false
4141

@@ -79,9 +79,6 @@ def configure(conf)
7979
if @use_partial_metadata && @partial_key
8080
raise Fluent::ConfigError, "use_partial_metadata and partial_key are exclusive"
8181
end
82-
unless ["docker-fluentd", "docker-journald", "docker-journald-lowercase"].include?(@partial_metadata_format)
83-
raise Fluent::ConfigError, "partial_metadata_format only supports docker-fluentd, docker-journald or docker-journald-lowercase"
84-
end
8582

8683
@mode = nil
8784
case
@@ -92,21 +89,21 @@ def configure(conf)
9289
when @use_partial_metadata
9390
@mode = :partial_metadata
9491
case @partial_metadata_format
95-
when "docker-fluentd"
92+
when :"docker-fluentd"
9693
@partial_message_field = "partial_message".freeze
9794
@partial_id_field = "partial_id".freeze
9895
@partial_ordinal_field = "partial_ordinal".freeze
9996
@partial_last_field = "partial_last".freeze
10097
@partial_message_indicator = @partial_message_field
101-
when "docker-journald"
98+
when :"docker-journald"
10299
@partial_message_field = "CONTAINER_PARTIAL_MESSAGE".freeze
103100
@partial_id_field = "CONTAINER_PARTIAL_ID".freeze
104101
@partial_ordinal_field = "CONTAINER_PARTIAL_ORDINAL".freeze
105102
@partial_last_field = "CONTAINER_PARTIAL_LAST".freeze
106103
# the journald log driver does not add CONTAINER_PARTIAL_MESSAGE to the last message
107104
# so we help ourself by using another indicator
108105
@partial_message_indicator = @partial_id_field
109-
when "docker-journald-lowercase"
106+
when :"docker-journald-lowercase"
110107
@partial_message_field = "container_partial_message".freeze
111108
@partial_id_field = "container_partial_id".freeze
112109
@partial_ordinal_field = "container_partial_ordinal".freeze

0 commit comments

Comments
 (0)