logstash-filter-csv 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/VERSION +1 -1
- data/lib/logstash/filters/csv.rb +10 -14
- data/logstash-filter-csv.gemspec +3 -1
- metadata +25 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf9f8d4119cd1f50a3456eecc603223146a3a8af699161e69620830e94a89bd2
|
4
|
+
data.tar.gz: 955a26060fa7c92bdbc4f00b632e8c33ef2ade7ed54d03084503666d5f89a583
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8439e88c6dac47b52866730cb04c015cb1e88f439316063da35fb9264383ac7e177d45801aa0da64756b79bbfeee5d6ee0bbd31bc04b2e33475f839288b4da36
|
7
|
+
data.tar.gz: ce650dfb546568cd8983d4949662739fbe794b097ea391b4a20b0d46d2d793ad2090e9b212248def1d32721baf26f364c2a5d4e69275a0eef4e1f959b386dd05
|
data/CHANGELOG.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.1.
|
1
|
+
3.1.1
|
data/lib/logstash/filters/csv.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require "logstash/filters/base"
|
3
3
|
require "logstash/namespace"
|
4
|
-
require
|
4
|
+
require 'logstash/plugin_mixins/ecs_compatibility_support'
|
5
|
+
require 'logstash/plugin_mixins/ecs_compatibility_support/target_check'
|
6
|
+
require 'logstash/plugin_mixins/validator_support/field_reference_validation_adapter'
|
5
7
|
|
6
8
|
require "csv"
|
7
9
|
|
@@ -10,6 +12,9 @@ require "csv"
|
|
10
12
|
# This filter can also parse data with any separator, not just commas.
|
11
13
|
class LogStash::Filters::CSV < LogStash::Filters::Base
|
12
14
|
include LogStash::PluginMixins::ECSCompatibilitySupport(:disabled, :v1, :v8 => :v1)
|
15
|
+
include LogStash::PluginMixins::ECSCompatibilitySupport::TargetCheck
|
16
|
+
|
17
|
+
extend LogStash::PluginMixins::ValidatorSupport::FieldReferenceValidationAdapter
|
13
18
|
|
14
19
|
config_name "csv"
|
15
20
|
|
@@ -38,7 +43,7 @@ class LogStash::Filters::CSV < LogStash::Filters::Base
|
|
38
43
|
|
39
44
|
# Define target field for placing the data.
|
40
45
|
# Defaults to writing to the root of the event.
|
41
|
-
config :target, :validate => :
|
46
|
+
config :target, :validate => :field_reference
|
42
47
|
|
43
48
|
# Define whether column names should autogenerated or not.
|
44
49
|
# Defaults to true. If set to false, columns not having a header specified will not be parsed.
|
@@ -105,15 +110,6 @@ class LogStash::Filters::CSV < LogStash::Filters::Base
|
|
105
110
|
CONVERTERS.default = lambda {|v| v}
|
106
111
|
CONVERTERS.freeze
|
107
112
|
|
108
|
-
def initialize(params)
|
109
|
-
super
|
110
|
-
if ecs_compatibility != :disabled && @target.nil?
|
111
|
-
logger.info('ECS compatibility is enabled but no ``target`` option was specified, it is recommended'\
|
112
|
-
' to set the option to avoid potential schema conflicts (if your data is ECS compliant or'\
|
113
|
-
' non-conflicting feel free to ignore this message)')
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
113
|
def register
|
118
114
|
# validate conversion types to be the valid ones.
|
119
115
|
bad_types = @convert.values.select do |type|
|
@@ -125,7 +121,7 @@ class LogStash::Filters::CSV < LogStash::Filters::Base
|
|
125
121
|
# @convert_symbols contains the symbolized types to avoid symbol conversion in the transform method
|
126
122
|
@convert_symbols = @convert.inject({}){|result, (k, v)| result[k] = v.to_sym; result}
|
127
123
|
|
128
|
-
# make sure @target is in the format [field name] if defined, i.e. surrounded by
|
124
|
+
# make sure @target is in the format [field name] if defined, i.e. surrounded by brackets
|
129
125
|
@target = "[#{@target}]" if @target && !@target.start_with?("[")
|
130
126
|
|
131
127
|
# if the zero byte character is entered in the config, set the value
|
@@ -137,7 +133,7 @@ class LogStash::Filters::CSV < LogStash::Filters::Base
|
|
137
133
|
end
|
138
134
|
|
139
135
|
def filter(event)
|
140
|
-
@logger.debug? && @logger.debug("Running csv filter", :event => event)
|
136
|
+
@logger.debug? && @logger.debug("Running csv filter", :event => event.to_hash)
|
141
137
|
|
142
138
|
if (source = event.get(@source))
|
143
139
|
begin
|
@@ -178,7 +174,7 @@ class LogStash::Filters::CSV < LogStash::Filters::Base
|
|
178
174
|
end
|
179
175
|
end
|
180
176
|
|
181
|
-
@logger.debug? && @logger.debug("Event after csv filter", :event => event)
|
177
|
+
@logger.debug? && @logger.debug("Event after csv filter", :event => event.to_hash)
|
182
178
|
end
|
183
179
|
|
184
180
|
private
|
data/logstash-filter-csv.gemspec
CHANGED
@@ -23,7 +23,9 @@ Gem::Specification.new do |s|
|
|
23
23
|
|
24
24
|
# Gem dependencies
|
25
25
|
s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
|
26
|
+
s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~> 1.3'
|
27
|
+
s.add_runtime_dependency 'logstash-mixin-validator_support', '~> 1.0'
|
28
|
+
|
26
29
|
s.add_development_dependency 'logstash-devutils'
|
27
|
-
s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.2'
|
28
30
|
end
|
29
31
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-csv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-06-
|
11
|
+
date: 2021-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -33,31 +33,45 @@ dependencies:
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
requirement: !ruby/object:Gem::Requirement
|
35
35
|
requirements:
|
36
|
-
- - "
|
36
|
+
- - "~>"
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version: '
|
39
|
-
name: logstash-
|
38
|
+
version: '1.3'
|
39
|
+
name: logstash-mixin-ecs_compatibility_support
|
40
40
|
prerelease: false
|
41
|
-
type: :
|
41
|
+
type: :runtime
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - "
|
44
|
+
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '1.3'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
50
50
|
- - "~>"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '1.
|
53
|
-
name: logstash-mixin-
|
52
|
+
version: '1.0'
|
53
|
+
name: logstash-mixin-validator_support
|
54
54
|
prerelease: false
|
55
55
|
type: :runtime
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '1.
|
60
|
+
version: '1.0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
name: logstash-devutils
|
68
|
+
prerelease: false
|
69
|
+
type: :development
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
61
75
|
description: This gem is a Logstash plugin required to be installed on top of the
|
62
76
|
Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This
|
63
77
|
gem is not a stand-alone program
|