logstash-filter-google_appengine 0.104.0 → 0.105.0

Sign up to get free protection for your applications and to get access to all the features.
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