synchrolog-ruby 0.1.5 → 0.1.6

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
- SHA1:
3
- metadata.gz: ba8b6c0d5ab873b1fe94f06f23d7ad5f47d80da1
4
- data.tar.gz: 42392fba27e6603f2495d769df7be36bc293abdb
2
+ SHA256:
3
+ metadata.gz: 2d7db7fe6b9f91d8797224509b550d6d443f00e3fdbe8e21e2721cc8f2ab6ccb
4
+ data.tar.gz: b66ca841ec9f54a6d7cb7cf0cb7bae7dee256910865111e3fdcb83612c9af1f5
5
5
  SHA512:
6
- metadata.gz: 322ece2937581b3fb8ad07b5225b10652caf459bf458eaf72278ca8d50667a594287c649647e7abe68d9a464cb0674145362ad64661e2d9f8e8058e61c32816d
7
- data.tar.gz: d7b02c0f61a41e427c39c53a50758eb46db4749e3cba904edef45c53da7e7e6978e4dc27b7d32b48180573346626485d1e824ef0f97604ef788d5c47b512d858
6
+ metadata.gz: bbde233f6b5e6acc54e14edc883b9c947b6aad4a6fe4d5bb318af106b685789f653353b7df84275af827137c06ad89596be825ab996e9021573495a648eb06c7
7
+ data.tar.gz: 3ea0ed40a25355926955ac680f0c356e655720c7d88fe11c19c82f3909bcfa9af90132e7b95858ff1b9b0c16d7758405f26d6eb36ea02bc0c7e6a2043130522e
@@ -8,7 +8,7 @@ module Synchrolog
8
8
  @api_key = api_key
9
9
  @host = args[:host]
10
10
  end
11
-
11
+
12
12
  def capture(response, exception, env, anonymous_id, user_id)
13
13
  return unless anonymous_id
14
14
  json_headers = {'Authorization' => "Basic #{@api_key}", 'Content-Type' =>'application/json'}
@@ -19,8 +19,9 @@ module Synchrolog
19
19
 
20
20
  def body(response, exception, env, anonymous_id, user_id)
21
21
  status, headers, body = *response
22
+ error = exception.backtrace[0].split(':')
22
23
  return {
23
- event_type: 'error',
24
+ event_type: 'error',
24
25
  timestamp: Time.now.utc.strftime("%Y-%m-%dT%H:%M:%S.%3NZ"),
25
26
  anonymous_id: anonymous_id,
26
27
  user_id: user_id,
@@ -29,9 +30,12 @@ module Synchrolog
29
30
  error: {
30
31
  status: status.to_s,
31
32
  description: exception.to_s,
32
- backtrace: exception.backtrace,
33
+ backtrace: exception.backtrace.join("\n"),
33
34
  ip_address: env['REMOTE_ADDR'],
34
- user_agent: env['HTTP_USER_AGENT']
35
+ user_agent: env['HTTP_USER_AGENT'],
36
+ file_name: file_name = error[0],
37
+ file: File.read(error[0]),
38
+ line_number: error[1].to_i
35
39
  }
36
40
  }
37
41
  end
@@ -15,14 +15,15 @@ module Synchrolog
15
15
  uri = URI.parse("#{@host}/v1/track-backend-error")
16
16
  http = Net::HTTP.new(uri.host, uri.port)
17
17
  http.use_ssl = true
18
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
18
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
19
19
  http.post(uri.path, body(response, exception, env, anonymous_id, user_id).to_json, json_headers)
20
20
  end
21
21
 
22
22
  def body(response, exception, env, anonymous_id, user_id)
23
23
  status, headers, body = *response
24
+ error = exception.backtrace[0].split(':')
24
25
  return {
25
- event_type: 'error',
26
+ event_type: 'error',
26
27
  timestamp: Time.now.utc.strftime("%Y-%m-%dT%H:%M:%S.%3NZ"),
27
28
  anonymous_id: anonymous_id,
28
29
  user_id: user_id,
@@ -31,9 +32,12 @@ module Synchrolog
31
32
  error: {
32
33
  status: status.to_s,
33
34
  description: exception.to_s,
34
- backtrace: exception.backtrace,
35
+ backtrace: exception.backtrace.join("\n"),
35
36
  ip_address: env['REMOTE_ADDR'],
36
- user_agent: env['HTTP_USER_AGENT']
37
+ user_agent: env['HTTP_USER_AGENT'],
38
+ file_name: file_name = error[0],
39
+ file: File.read(error[0]),
40
+ line_number: error[1].to_i
37
41
  }
38
42
  }
39
43
  end
@@ -1,3 +1,3 @@
1
1
  module Synchrolog
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synchrolog-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Synchrolog.com
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-15 00:00:00.000000000 Z
11
+ date: 2019-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -116,8 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  requirements: []
119
- rubyforge_project:
120
- rubygems_version: 2.6.11
119
+ rubygems_version: 3.0.6
121
120
  signing_key:
122
121
  specification_version: 4
123
122
  summary: Synchrolog library