logstash-filter-split 2.0.2 → 2.0.4
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 +4 -0
- data/README.md +3 -0
- data/lib/logstash/filters/split.rb +10 -7
- data/logstash-filter-split.gemspec +2 -2
- data/spec/filters/split_spec.rb +5 -0
- metadata +11 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba35e2ceaacd6c51d8efbfb32c75bd3ac16351cb
|
4
|
+
data.tar.gz: 2cae510c32b811abf7ce6d656a93a75e6bebcc06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b6b9fa17e6f7296664b0aecc019f9f3b9812eea5322001ab638c1d371420ece272d831c381272ae39564a50103522b1340c64089d54fef2d0ba197fadc1b2b8
|
7
|
+
data.tar.gz: 1f49e45816648aebdb8359cf341cf788f656e2e249c6669ba8558205949ab5fa24df864781902546907d914e92e8b7c135f98820cd3780959722816202ecd18d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# 2.0.4
|
2
|
+
- Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
|
3
|
+
# 2.0.3
|
4
|
+
- New dependency requirements for logstash-core for the 5.0 release
|
1
5
|
## 2.0.0
|
2
6
|
- Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
|
3
7
|
instead of using Thread.raise on the plugins' threads. Ref: https://github.com/elastic/logstash/pull/3895
|
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Logstash Plugin
|
2
2
|
|
3
|
+
[](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Filters/job/logstash-plugin-filter-split-unit/)
|
5
|
+
|
3
6
|
This is a plugin for [Logstash](https://github.com/elastic/logstash).
|
4
7
|
|
5
8
|
It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
|
@@ -2,11 +2,14 @@
|
|
2
2
|
require "logstash/filters/base"
|
3
3
|
require "logstash/namespace"
|
4
4
|
|
5
|
-
# The split filter
|
5
|
+
# The split filter clones an event by splitting one of its fields and
|
6
|
+
# placing each value resulting from the split into a clone of the original
|
7
|
+
# event. The field being split can either be a string or an array.
|
6
8
|
#
|
7
|
-
# An example use case of this filter is for taking output from the
|
8
|
-
# which emits one event for
|
9
|
-
# output
|
9
|
+
# An example use case of this filter is for taking output from the
|
10
|
+
# <<plugins-inputs-exec,exec input plugin>> which emits one event for
|
11
|
+
# the whole output of a command and splitting that output by newline -
|
12
|
+
# making each line an event.
|
10
13
|
#
|
11
14
|
# The end result of each split is a complete copy of the event
|
12
15
|
# with only the current split section of the given field changed.
|
@@ -18,11 +21,11 @@ class LogStash::Filters::Split < LogStash::Filters::Base
|
|
18
21
|
# string.
|
19
22
|
config :terminator, :validate => :string, :default => "\n"
|
20
23
|
|
21
|
-
# The field
|
24
|
+
# The field whose value is to be split by the terminator.
|
22
25
|
config :field, :validate => :string, :default => "message"
|
23
26
|
|
24
27
|
# The field within the new event which the value is split into.
|
25
|
-
# If not set, target field defaults to split field name.
|
28
|
+
# If not set, the target field defaults to split field name.
|
26
29
|
config :target, :validate => :string
|
27
30
|
|
28
31
|
public
|
@@ -47,7 +50,7 @@ class LogStash::Filters::Split < LogStash::Filters::Base
|
|
47
50
|
end
|
48
51
|
|
49
52
|
# Skip filtering if splitting this event resulted in only one thing found.
|
50
|
-
return if splits.length == 1
|
53
|
+
return if splits.length == 1 && original_value.is_a?(String)
|
51
54
|
#or splits[1].empty?
|
52
55
|
|
53
56
|
splits.each do |value|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-filter-split'
|
4
|
-
s.version = '2.0.
|
4
|
+
s.version = '2.0.4'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "The split filter is for splitting multiline messages into separate events."
|
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"
|
@@ -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-plugin-api", "~> 1.0"
|
24
24
|
|
25
25
|
s.add_development_dependency 'logstash-devutils'
|
26
26
|
end
|
data/spec/filters/split_spec.rb
CHANGED
@@ -75,6 +75,11 @@ describe LogStash::Filters::Split do
|
|
75
75
|
insist { subject[1]["array"] } == "bird"
|
76
76
|
insist { subject[2]["array"] } == "sesame street"
|
77
77
|
end
|
78
|
+
|
79
|
+
sample("array" => ["big"], "untouched" => "1\n2\n3") do
|
80
|
+
insist { subject.is_a?(Logstash::Event) }
|
81
|
+
insist { subject["array"] } == "big"
|
82
|
+
end
|
78
83
|
end
|
79
84
|
|
80
85
|
describe "split array into new field" do
|
metadata
CHANGED
@@ -1,39 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-split
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- -
|
16
|
+
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version:
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 3.0.0
|
22
|
-
name: logstash-core
|
18
|
+
version: '1.0'
|
19
|
+
name: logstash-core-plugin-api
|
23
20
|
prerelease: false
|
24
21
|
type: :runtime
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 2.0.0.beta2
|
30
|
-
- - <
|
24
|
+
- - "~>"
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
26
|
+
version: '1.0'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
requirement: !ruby/object:Gem::Requirement
|
35
29
|
requirements:
|
36
|
-
- -
|
30
|
+
- - ">="
|
37
31
|
- !ruby/object:Gem::Version
|
38
32
|
version: '0'
|
39
33
|
name: logstash-devutils
|
@@ -41,7 +35,7 @@ dependencies:
|
|
41
35
|
type: :development
|
42
36
|
version_requirements: !ruby/object:Gem::Requirement
|
43
37
|
requirements:
|
44
|
-
- -
|
38
|
+
- - ">="
|
45
39
|
- !ruby/object:Gem::Version
|
46
40
|
version: '0'
|
47
41
|
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
|
@@ -71,12 +65,12 @@ require_paths:
|
|
71
65
|
- lib
|
72
66
|
required_ruby_version: !ruby/object:Gem::Requirement
|
73
67
|
requirements:
|
74
|
-
- -
|
68
|
+
- - ">="
|
75
69
|
- !ruby/object:Gem::Version
|
76
70
|
version: '0'
|
77
71
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
72
|
requirements:
|
79
|
-
- -
|
73
|
+
- - ">="
|
80
74
|
- !ruby/object:Gem::Version
|
81
75
|
version: '0'
|
82
76
|
requirements: []
|