logstash-filter-multiline 1.1.0 → 2.0.0
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 +0 -2
- data/Gemfile +1 -1
- data/lib/logstash/filters/multiline.rb +4 -8
- data/logstash-filter-multiline.gemspec +3 -3
- data/spec/filters/multiline_spec.rb +0 -43
- metadata +25 -34
- data/.gitignore +0 -4
- data/Rakefile +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c2f9b96b2a529c7707d35c8e0c7a9bff1588941
|
4
|
+
data.tar.gz: 8ab08111a3a970210a51df95aad6d1d54c04d261
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b117b8443aeeb1b1b8f6f4c09d12c0a88cef5a56a1dd15552ad35f9cce928c0f56f58531fd25e95bff073c0eceec3dd38fc55a0499c9eeb0ea15c3ba8570280c
|
7
|
+
data.tar.gz: 4c177d9f33439f8979ec162cc0544e35be1b8a35ccc719c7e781c27fdba21fc5c49780c56ed08cfabeb29632017d216c176be2e1cf81fe4f28038e9e8693e4b8
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
|
-
gemspec
|
2
|
+
gemspec
|
@@ -209,7 +209,7 @@ class LogStash::Filters::Multiline < LogStash::Filters::Base
|
|
209
209
|
end # def flush
|
210
210
|
|
211
211
|
public
|
212
|
-
def
|
212
|
+
def close
|
213
213
|
# nothing to do
|
214
214
|
end
|
215
215
|
|
@@ -228,10 +228,8 @@ class LogStash::Filters::Multiline < LogStash::Filters::Base
|
|
228
228
|
# this line is not part of the previous event if we have a pending event, it's done, send it.
|
229
229
|
# put the current event into pending
|
230
230
|
unless pending.empty?
|
231
|
-
tmp
|
232
|
-
|
233
|
-
event.overwrite(merged_events)
|
234
|
-
event["@metadata"] = merged_events["@metadata"] # Override does not copy the metadata
|
231
|
+
tmp = event.to_hash
|
232
|
+
event.overwrite(merge(pending))
|
235
233
|
pending.clear # avoid array creation
|
236
234
|
pending << LogStash::Event.new(tmp)
|
237
235
|
else
|
@@ -255,9 +253,7 @@ class LogStash::Filters::Multiline < LogStash::Filters::Base
|
|
255
253
|
# if we have something in pending, join it with this message and send it.
|
256
254
|
# otherwise, this is a new message and not part of multiline, send it.
|
257
255
|
unless pending.empty?
|
258
|
-
|
259
|
-
event.overwrite(merged_events)
|
260
|
-
event["@metadata"] = merged_events["@metadata"] # Override does not copy the metadata
|
256
|
+
event.overwrite(merge(pending << event))
|
261
257
|
pending.clear
|
262
258
|
end
|
263
259
|
end # if match
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-filter-multiline'
|
4
|
-
s.version = '
|
4
|
+
s.version = '2.0.0'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "This filter will collapse multiline messages from a single source into one Logstash event."
|
7
7
|
s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
|
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.require_paths = ["lib"]
|
12
12
|
|
13
13
|
# Files
|
14
|
-
s.files =
|
14
|
+
s.files = Dir['lib/**/*','spec/**/*','vendor/**/*','*.gemspec','*.md','CONTRIBUTORS','Gemfile','LICENSE','NOTICE.TXT']
|
15
15
|
|
16
16
|
# Tests
|
17
17
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "filter" }
|
21
21
|
|
22
22
|
# Gem dependencies
|
23
|
-
s.add_runtime_dependency "logstash-core",
|
23
|
+
s.add_runtime_dependency "logstash-core", "~> 2.0.0.snapshot"
|
24
24
|
s.add_runtime_dependency 'logstash-patterns-core'
|
25
25
|
s.add_runtime_dependency 'logstash-filter-mutate'
|
26
26
|
s.add_runtime_dependency 'jls-grok', '~> 0.11.0'
|
@@ -245,47 +245,4 @@ describe LogStash::Filters::Multiline do
|
|
245
245
|
end
|
246
246
|
end
|
247
247
|
|
248
|
-
|
249
|
-
describe "keeps metadata fields after two consecutive non multline lines" do
|
250
|
-
config <<-CONFIG
|
251
|
-
filter {
|
252
|
-
mutate { add_field => { "[@metadata][index]" => "logstash-2015.11.19" } }
|
253
|
-
multiline {
|
254
|
-
pattern => "^%{NUMBER}"
|
255
|
-
what => "previous"
|
256
|
-
}
|
257
|
-
mutate { add_field => { "[@metadata][type]" => "foo" } }
|
258
|
-
}
|
259
|
-
CONFIG
|
260
|
-
|
261
|
-
sample ["line1", "line2"] do
|
262
|
-
expect(subject).to be_a(Array)
|
263
|
-
expect(subject[0]["@metadata"]).to include("index"=>"logstash-2015.11.19")
|
264
|
-
expect(subject[1]["@metadata"]).to include("index"=>"logstash-2015.11.19")
|
265
|
-
expect(subject[0]["@metadata"]).to include("type"=>"foo")
|
266
|
-
expect(subject[1]["@metadata"]).to include("type"=>"foo")
|
267
|
-
end
|
268
|
-
end
|
269
|
-
|
270
|
-
describe "keeps metadata fields after two consecutive non multline lines" do
|
271
|
-
config <<-CONFIG
|
272
|
-
filter {
|
273
|
-
mutate { add_field => { "[@metadata][index]" => "logstash-2015.11.19" } }
|
274
|
-
multiline {
|
275
|
-
pattern => "^%{NUMBER}"
|
276
|
-
what => "next"
|
277
|
-
}
|
278
|
-
mutate { add_field => { "[@metadata][type]" => "foo" } }
|
279
|
-
}
|
280
|
-
CONFIG
|
281
|
-
|
282
|
-
sample ["line1", "line2"] do
|
283
|
-
expect(subject).to be_a(Array)
|
284
|
-
expect(subject[0]["@metadata"]).to include("index"=>"logstash-2015.11.19")
|
285
|
-
expect(subject[1]["@metadata"]).to include("index"=>"logstash-2015.11.19")
|
286
|
-
expect(subject[0]["@metadata"]).to include("type"=>"foo")
|
287
|
-
expect(subject[1]["@metadata"]).to include("type"=>"foo")
|
288
|
-
end
|
289
|
-
end
|
290
|
-
|
291
248
|
end
|
metadata
CHANGED
@@ -1,105 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-multiline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: logstash-core
|
15
|
-
version_requirements: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.4.0
|
20
|
-
- - <
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 2.0.0.alpha0
|
23
14
|
requirement: !ruby/object:Gem::Requirement
|
24
15
|
requirements:
|
25
|
-
- -
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: 1.4.0
|
28
|
-
- - <
|
16
|
+
- - ~>
|
29
17
|
- !ruby/object:Gem::Version
|
30
|
-
version: 2.0.0.
|
18
|
+
version: 2.0.0.snapshot
|
19
|
+
name: logstash-core
|
31
20
|
prerelease: false
|
32
21
|
type: :runtime
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: logstash-patterns-core
|
35
22
|
version_requirements: !ruby/object:Gem::Requirement
|
36
23
|
requirements:
|
37
|
-
- -
|
24
|
+
- - ~>
|
38
25
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
26
|
+
version: 2.0.0.snapshot
|
27
|
+
- !ruby/object:Gem::Dependency
|
40
28
|
requirement: !ruby/object:Gem::Requirement
|
41
29
|
requirements:
|
42
30
|
- - '>='
|
43
31
|
- !ruby/object:Gem::Version
|
44
32
|
version: '0'
|
33
|
+
name: logstash-patterns-core
|
45
34
|
prerelease: false
|
46
35
|
type: :runtime
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: logstash-filter-mutate
|
49
36
|
version_requirements: !ruby/object:Gem::Requirement
|
50
37
|
requirements:
|
51
38
|
- - '>='
|
52
39
|
- !ruby/object:Gem::Version
|
53
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
54
42
|
requirement: !ruby/object:Gem::Requirement
|
55
43
|
requirements:
|
56
44
|
- - '>='
|
57
45
|
- !ruby/object:Gem::Version
|
58
46
|
version: '0'
|
47
|
+
name: logstash-filter-mutate
|
59
48
|
prerelease: false
|
60
49
|
type: :runtime
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: jls-grok
|
63
50
|
version_requirements: !ruby/object:Gem::Requirement
|
64
51
|
requirements:
|
65
|
-
- -
|
52
|
+
- - '>='
|
66
53
|
- !ruby/object:Gem::Version
|
67
|
-
version: 0
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
68
56
|
requirement: !ruby/object:Gem::Requirement
|
69
57
|
requirements:
|
70
58
|
- - ~>
|
71
59
|
- !ruby/object:Gem::Version
|
72
60
|
version: 0.11.0
|
61
|
+
name: jls-grok
|
73
62
|
prerelease: false
|
74
63
|
type: :runtime
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: logstash-devutils
|
77
64
|
version_requirements: !ruby/object:Gem::Requirement
|
78
65
|
requirements:
|
79
|
-
- -
|
66
|
+
- - ~>
|
80
67
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
68
|
+
version: 0.11.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
82
70
|
requirement: !ruby/object:Gem::Requirement
|
83
71
|
requirements:
|
84
72
|
- - '>='
|
85
73
|
- !ruby/object:Gem::Version
|
86
74
|
version: '0'
|
75
|
+
name: logstash-devutils
|
87
76
|
prerelease: false
|
88
77
|
type: :development
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
89
83
|
description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
|
90
84
|
email: info@elastic.co
|
91
85
|
executables: []
|
92
86
|
extensions: []
|
93
87
|
extra_rdoc_files: []
|
94
88
|
files:
|
95
|
-
- .gitignore
|
96
89
|
- CHANGELOG.md
|
97
90
|
- CONTRIBUTORS
|
98
91
|
- Gemfile
|
99
92
|
- LICENSE
|
100
93
|
- NOTICE.TXT
|
101
94
|
- README.md
|
102
|
-
- Rakefile
|
103
95
|
- lib/logstash/filters/multiline.rb
|
104
96
|
- logstash-filter-multiline.gemspec
|
105
97
|
- spec/filters/multiline_spec.rb
|
@@ -125,10 +117,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
117
|
version: '0'
|
126
118
|
requirements: []
|
127
119
|
rubyforge_project:
|
128
|
-
rubygems_version: 2.4.
|
120
|
+
rubygems_version: 2.4.8
|
129
121
|
signing_key:
|
130
122
|
specification_version: 4
|
131
123
|
summary: This filter will collapse multiline messages from a single source into one Logstash event.
|
132
124
|
test_files:
|
133
125
|
- spec/filters/multiline_spec.rb
|
134
|
-
has_rdoc:
|
data/.gitignore
DELETED