google-cloud-error_reporting 0.30.0 → 0.30.1
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/README.md +29 -0
- data/lib/google/cloud/error_reporting.rb +33 -0
- data/lib/google/cloud/error_reporting/error_event.rb +3 -3
- data/lib/google/cloud/error_reporting/middleware.rb +9 -2
- data/lib/google/cloud/error_reporting/rails.rb +3 -1
- data/lib/google/cloud/error_reporting/v1beta1/doc/overview.rb +2 -2
- data/lib/google/cloud/error_reporting/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4803dd3ca8f339200e8644cff9d6cd1ff614d6938252f9ef482a1fdbfebcacf1
|
4
|
+
data.tar.gz: 38de25dcb58db7bfea2070f908c2a1d051ad37aeb2d4a0d2c5cb7a76354022c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9831d8f4ec9210ee09540126be7e9043ec9dd40d3c9740c37b11850fac7ed48743da98f213a58d4de3de9e5f33636b060828d6978309c2d7dcb96b025e45ce10
|
7
|
+
data.tar.gz: 5653c450fb8c1ef7697f2a2f613d2bb35c280897a338f14044db9aabc38a252f76bb5eb95802c12573c8376e2420380830df84d244f9b86fa5d477de92954712
|
data/README.md
CHANGED
@@ -178,10 +178,39 @@ This library also supports the other authentication methods provided by the
|
|
178
178
|
`google-cloud-ruby` suite. Instructions and configuration options are covered
|
179
179
|
in the [Authentication Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-debugger/guides/authentication).
|
180
180
|
|
181
|
+
## Enabling Logging
|
182
|
+
|
183
|
+
To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library. The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below, or a [`Google::Cloud::Logging::Logger`](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger) that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb) and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
|
184
|
+
|
185
|
+
Configuring a Ruby stdlib logger:
|
186
|
+
|
187
|
+
```ruby
|
188
|
+
require "logger"
|
189
|
+
|
190
|
+
module MyLogger
|
191
|
+
LOGGER = Logger.new $stderr, level: Logger::WARN
|
192
|
+
def logger
|
193
|
+
LOGGER
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
# Define a gRPC module-level logger method before grpc/logconfig.rb loads.
|
198
|
+
module GRPC
|
199
|
+
extend MyLogger
|
200
|
+
end
|
201
|
+
```
|
202
|
+
|
181
203
|
## Supported Ruby Versions
|
182
204
|
|
183
205
|
This library is supported on Ruby 2.0+.
|
184
206
|
|
207
|
+
However, Ruby 2.3 or later is strongly recommended, as earlier releases have
|
208
|
+
reached or are nearing end-of-life. After June 1, 2018, Google will provide
|
209
|
+
official support only for Ruby versions that are considered current and
|
210
|
+
supported by Ruby Core (that is, Ruby versions that are either in normal
|
211
|
+
maintenance or in security maintenance).
|
212
|
+
See https://www.ruby-lang.org/en/downloads/branches/ for further details.
|
213
|
+
|
185
214
|
## Versioning
|
186
215
|
|
187
216
|
This library follows [Semantic Versioning](http://semver.org/).
|
@@ -45,6 +45,39 @@ module Google
|
|
45
45
|
# [Authentication
|
46
46
|
# Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication).
|
47
47
|
#
|
48
|
+
# ## Enabling Logging
|
49
|
+
#
|
50
|
+
# To enable logging for this library, set the logger for the underlying
|
51
|
+
# [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library. The
|
52
|
+
# logger that you set may be a Ruby stdlib
|
53
|
+
# [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html)
|
54
|
+
# as shown below, or a
|
55
|
+
# [`Google::Cloud::Logging::Logger`](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
|
56
|
+
# that will write logs to [Stackdriver
|
57
|
+
# Logging](https://cloud.google.com/logging/). See
|
58
|
+
# [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
|
59
|
+
# and the gRPC
|
60
|
+
# [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb)
|
61
|
+
# for additional information.
|
62
|
+
#
|
63
|
+
# Configuring a Ruby stdlib logger:
|
64
|
+
#
|
65
|
+
# ```ruby
|
66
|
+
# require "logger"
|
67
|
+
#
|
68
|
+
# module MyLogger
|
69
|
+
# LOGGER = Logger.new $stderr, level: Logger::WARN
|
70
|
+
# def logger
|
71
|
+
# LOGGER
|
72
|
+
# end
|
73
|
+
# end
|
74
|
+
#
|
75
|
+
# # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
|
76
|
+
# module GRPC
|
77
|
+
# extend MyLogger
|
78
|
+
# end
|
79
|
+
# ```
|
80
|
+
#
|
48
81
|
# ## How to report errors
|
49
82
|
#
|
50
83
|
# You can easily report exceptions from your applications to Stackdriver
|
@@ -213,12 +213,12 @@ module Google
|
|
213
213
|
# from the given exception.
|
214
214
|
def self.from_exception exception
|
215
215
|
backtrace = exception.backtrace
|
216
|
-
message = exception.message
|
216
|
+
message = "#{exception.message} (#{exception.class})"
|
217
217
|
|
218
|
-
|
218
|
+
if !backtrace.nil? && !backtrace.empty?
|
219
219
|
error_location = backtrace.first
|
220
220
|
|
221
|
-
message = "#{error_location}: #{message}
|
221
|
+
message = "#{error_location}: #{message}\n\t" +
|
222
222
|
backtrace.drop(1).join("\n\t")
|
223
223
|
file_path, line_number, function_name = error_location.split(":")
|
224
224
|
function_name = function_name.to_s[/`(.*)'/, 1]
|
@@ -24,6 +24,8 @@ module Google
|
|
24
24
|
# to Stackdriver Error Reporting.
|
25
25
|
#
|
26
26
|
class Middleware
|
27
|
+
EXCEPTION_KEYS = ["sinatra.error", "rack.exception"].freeze
|
28
|
+
|
27
29
|
# A Google::Cloud::ErrorReporting::Project client used to report
|
28
30
|
# error events.
|
29
31
|
attr_reader :error_reporting
|
@@ -76,8 +78,13 @@ module Google
|
|
76
78
|
|
77
79
|
# sinatra doesn't always raise the Exception, but it saves it in
|
78
80
|
# env['sinatra.error']
|
79
|
-
|
80
|
-
|
81
|
+
#
|
82
|
+
# some frameworks (i.e. hanami) will save a rendering exception in
|
83
|
+
# env['rack.exception']
|
84
|
+
EXCEPTION_KEYS.each do |exception_key|
|
85
|
+
next unless env[exception_key].is_a? Exception
|
86
|
+
|
87
|
+
report_exception env, env[exception_key]
|
81
88
|
end
|
82
89
|
|
83
90
|
response
|
@@ -109,7 +109,9 @@ module Google
|
|
109
109
|
gcp_config = rails_config.google_cloud
|
110
110
|
er_config = gcp_config.error_reporting
|
111
111
|
|
112
|
-
Cloud.configure.use_error_reporting
|
112
|
+
if Cloud.configure.use_error_reporting.nil?
|
113
|
+
Cloud.configure.use_error_reporting = gcp_config.use_error_reporting
|
114
|
+
end
|
113
115
|
ErrorReporting.configure do |config|
|
114
116
|
config.project_id ||= config.project
|
115
117
|
config.project_id ||= er_config.project_id || er_config.project
|
@@ -17,7 +17,7 @@ module Google
|
|
17
17
|
# rubocop:disable LineLength
|
18
18
|
|
19
19
|
##
|
20
|
-
# # Ruby Client for Stackdriver Error Reporting API ([
|
20
|
+
# # Ruby Client for Stackdriver Error Reporting API ([Beta](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
|
21
21
|
#
|
22
22
|
# [Stackdriver Error Reporting API][Product Documentation]:
|
23
23
|
# Stackdriver Error Reporting groups and counts similar errors from cloud
|
@@ -79,4 +79,4 @@ module Google
|
|
79
79
|
end
|
80
80
|
end
|
81
81
|
end
|
82
|
-
end
|
82
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-error_reporting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.30.
|
4
|
+
version: 0.30.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-cloud-core
|
@@ -253,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
253
253
|
version: '0'
|
254
254
|
requirements: []
|
255
255
|
rubyforge_project:
|
256
|
-
rubygems_version: 2.7.
|
256
|
+
rubygems_version: 2.7.7
|
257
257
|
signing_key:
|
258
258
|
specification_version: 4
|
259
259
|
summary: API Client library for Stackdriver Error Reporting
|