logstash-filter-multiline 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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