logstash-filter-google_appengine 0.104.0 → 0.105.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7909f8aa545e453ee8c441019032b4c3348c785
4
- data.tar.gz: 2726919212fa72009da9f20f3e27bd1f28a0ee4f
3
+ metadata.gz: 0e1e6c994bf36f5d7ec9d62843bb0108cb1f4fbc
4
+ data.tar.gz: 7adf185fbcb159dd37e9a4b1b157b7ea873d2a20
5
5
  SHA512:
6
- metadata.gz: 932b7985b0d333342896ba8a2e6c6fa031bd72a27bec8b15e04dfb35c1f61cdc4e48abb2f0198481f1c60b85f9b58cee6c25c7712e85e91e6760196a52ae9458
7
- data.tar.gz: 91e05ec7a017048973824067cabff94d4414766188bbcc6f6b96088eb22799a3b65aee1fbf464039db9728c1216bce7bed56ec0fb28c75efe52a5b35fba595bb
6
+ metadata.gz: 4ad6b05101512292f48886d68a570aafefe08dd985ab410f718505dc1becedb9c50eedf5468fe78f263822c7cb3a6402087b73d9ec98671ea663613943e5b5c2
7
+ data.tar.gz: 6580ac9dd91cfecd13b59bd4dd4f4675a40373d0d6907e9b96de70deac781d9b26eb2afeb3e7ae31673f645d2037d7faa5ad195dd4cc9e342766ef0b561cf972
@@ -10,43 +10,50 @@ class LogStash::Filters::GoogleAppengine < LogStash::Filters::Base
10
10
  public
11
11
  def register
12
12
  @md5 = Digest::MD5.new
13
- end # def register
13
+ end
14
14
 
15
- public
16
15
  def filter(event)
17
16
  return unless filter?(event)
18
-
19
17
  payload = event['protoPayload']
20
18
  payload.delete '@type'
21
19
  payload['type'] = 'gae'
22
20
  lines = payload.delete 'line'
23
-
24
21
  if lines
25
22
  lines.each_with_index { |line, i|
26
- # noinspection RubyStringKeysInHashInspection
27
- line_data = {
28
- '_id' => @md5.hexdigest(payload['requestId'] + i.to_s),
29
- 'message' => line.delete('logMessage')
30
- }
31
- .merge(payload)
32
- .merge(line)
33
-
34
- yield create_event(line_data)
35
-
23
+ yield create_event(collect_line_data(i, line, payload))
36
24
  }
37
25
  else
38
- payload['_id'] = @md5.hexdigest payload['requestId']
39
- payload['time'] = payload['endTime']
40
- yield create_event(payload)
26
+ yield create_event(collect_resource_request_data(payload))
41
27
  end
42
28
  event.cancel
43
- end # def filter
29
+ end
44
30
 
45
31
  private
32
+ # noinspection RubyStringKeysInHashInspection
33
+ def collect_line_data(i, line, payload)
34
+ {
35
+ '_id' => @md5.hexdigest(payload['requestId'] + i.to_s),
36
+ 'message' => line.delete('logMessage'),
37
+ 'position' => i
38
+ }
39
+ .merge(payload)
40
+ .merge(line)
41
+ end
42
+
43
+ # noinspection RubyStringKeysInHashInspection
44
+ def collect_resource_request_data(payload)
45
+ {
46
+ '_id' => @md5.hexdigest(payload['requestId']),
47
+ 'time' => payload['endTime'],
48
+ 'position' => 0
49
+ }
50
+ .merge(payload)
51
+ end
52
+
46
53
  def create_event(payload)
47
54
  new_event = LogStash::Event::new(payload)
48
55
  filter_matched(new_event)
49
56
  new_event
50
- end # def filter
57
+ end
51
58
 
52
59
  end # class LogStash::Filters::GoogleAppengine
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-filter-google_appengine'
4
- s.version = '0.104.0'
4
+ s.version = '0.105.0'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "This filter may be used to decode via inputs appengine logs"
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"
@@ -7,13 +7,13 @@ describe LogStash::Filters::GoogleAppengine do
7
7
 
8
8
  md5 = Digest::MD5.new
9
9
 
10
- describe "should merge the request payload with the reuest lines data" do
11
- config <<-CONFIG
10
+ config <<-CONFIG
12
11
  filter {
13
12
  google_appengine { }
14
13
  }
15
- CONFIG
14
+ CONFIG
16
15
 
16
+ describe "should merge the request payload with the reuest lines data" do
17
17
  test_sample = LogStash::Json::load(File.open("spec/filters/appengine.logs.jsonl", "rb").read)
18
18
  sample (test_sample) do
19
19
  insist { subject.length } == 3
@@ -21,6 +21,7 @@ describe LogStash::Filters::GoogleAppengine do
21
21
  insist { subject[0]["message"] }=="IdentityFilter logUserIdentity: [[meta]] <anonymous:true>\n"
22
22
  insist { subject[0]["_id"] }== md5.hexdigest(subject[0]["requestId"] + "0")
23
23
  insist { subject[0]["time"] } == "2015-09-03T10:59:40.589Z"
24
+ insist { subject[0]["position"] } == 0
24
25
 
25
26
  insist { subject[0]["type"] } == "gae"
26
27
 
@@ -31,15 +32,11 @@ describe LogStash::Filters::GoogleAppengine do
31
32
  insist { subject[1]["@type"] } == nil
32
33
  insist { subject[1]["time"] } =="2015-09-03T10:59:40.65Z"
33
34
  insist { subject[1]["type"] } == "gae"
35
+ insist { subject[1]["position"] } == 1
34
36
  end
35
37
  end
36
38
 
37
39
  describe "should handle logs even when they have no lines" do
38
- config <<-CONFIG
39
- filter {
40
- google_appengine { }
41
- }
42
- CONFIG
43
40
  test_sample = LogStash::Json.load(File.open("spec/filters/appengine.logs-without-lines.jsonl", "rb").read)
44
41
  sample (test_sample) do
45
42
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-google_appengine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.104.0
4
+ version: 0.105.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Small Improvements
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-11 00:00:00.000000000 Z
11
+ date: 2015-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logstash-core