logstash-filter-split 3.1.7 → 3.1.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3356dcc11862987712e4f9052ce4bc58be208f8f92d5cea69b23532e5b6ac603
4
- data.tar.gz: af3d58b3f1677c1fe0269673d5e37286cb2947d2ac705bfdfdce94fcc8a0c080
3
+ metadata.gz: 6319d3b850981cec3a8059fa148c2c1cc1b0d098d999abca2b83aa7f8ad2a237
4
+ data.tar.gz: cff19eb56064b141a79c88a0ec6e744919e1cc595aec35dec94fa4eccaee1d87
5
5
  SHA512:
6
- metadata.gz: f62920048aff417db5f8166cad3db2457fe5183b94e22ad9ec240a7c5dc858b5b2230e5b9fe79e25b86b5fc4362566f4265fdbbfe0bf573942e952a5bf8deefb
7
- data.tar.gz: a0af9cda51ef388c88d3d1102a3ffa74711559a1e3b53d9616acd550ae294a0b0118874d0c23d90ad0a58ecaa4ac94516d4ae03dcb9a4e39465f85146a0f40da
6
+ metadata.gz: 69c83c78ea32fbd59e9cea67300cc92e1af1de12a5830dd1a3dfdb3864fb121d4195cd26cb203ee706a2e5ba28b550379958de9d3ed09521c22de4211126ba7e
7
+ data.tar.gz: ef2435e8916ee8b0b2d6a83ef55b2ba748df259c0245f6bfbfdfd27c9372e76ef27ecf0bc92ff83680fda03ea549701f7b2a4910bed3b1921a83ac1c9b4355f5
@@ -1,5 +1,7 @@
1
+ ## 3.1.8 Fixed issue where @target optimization would stop event.remove(@field) from being called, which can be expensive with large split fields. [#40](https://github.com/logstash-plugins/logstash-filter-split/pull/40)
2
+
1
3
  ## 3.1.7
2
- - Fixed numeric values, optimized @target verification, cleanups and specs [36](https://github.com/logstash-plugins/logstash-filter-split/pull/36)
4
+ - Fixed numeric values, optimized @target verification, cleanups and specs [#36](https://github.com/logstash-plugins/logstash-filter-split/pull/36)
3
5
 
4
6
  ## 3.1.6
5
7
  - Fix crash on arrays with null values
@@ -59,15 +59,13 @@ class LogStash::Filters::Split < LogStash::Filters::Base
59
59
  config :target, :validate => :string
60
60
 
61
61
  def register
62
- # set @target to @field if not configured
63
- @target ||= @field
64
62
  end
65
63
 
66
64
  def filter(event)
67
65
  original_value = event.get(@field)
68
66
 
69
67
  if original_value.is_a?(Array)
70
- splits = target.nil? ? event.remove(@field) : original_value
68
+ splits = @target.nil? ? event.remove(@field) : original_value
71
69
  elsif original_value.is_a?(String)
72
70
  # Using -1 for 'limit' on String#split makes ruby not drop trailing empty
73
71
  # splits.
@@ -81,12 +79,15 @@ class LogStash::Filters::Split < LogStash::Filters::Base
81
79
  # Skip filtering if splitting this event resulted in only one thing found.
82
80
  return if splits.length == 1 && original_value.is_a?(String)
83
81
 
82
+ # set event_target to @field if not configured
83
+ event_target = @target.nil? ? @field : @target
84
+
84
85
  splits.each do |value|
85
86
  next if value.nil? || (value.is_a?(String) && value.empty?)
86
87
  @logger.debug? && @logger.debug("Split event", :value => value, :field => @field)
87
88
 
88
89
  event_split = event.clone
89
- event_split.set(@target, value)
90
+ event_split.set(event_target, value)
90
91
  filter_matched(event_split)
91
92
 
92
93
  # Push this new event onto the stack at the LogStash::FilterWorker
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-filter-split'
4
- s.version = '3.1.7'
4
+ s.version = '3.1.8'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Splits multi-line messages into distinct 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/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -12,6 +12,10 @@ describe LogStash::Filters::Split do
12
12
  }
13
13
  CONFIG
14
14
 
15
+ sample "big\n" do
16
+ insist { subject.get("message") } == 'big'
17
+ end
18
+
15
19
  sample "big\nbird\nsesame street" do
16
20
  insist { subject.length } == 3
17
21
  insist { subject[0].get("message") } == "big"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-split
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.7
4
+ version: 3.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-04 00:00:00.000000000 Z
11
+ date: 2020-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement