sentry-raven 0.4.8 → 0.5.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.
Potentially problematic release.
This version of sentry-raven might be problematic. Click here for more details.
- data/README.md +23 -0
- data/lib/raven/backtrace.rb +5 -4
- data/lib/raven/cli.rb +2 -1
- data/lib/raven/client.rb +7 -1
- data/lib/raven/configuration.rb +10 -0
- data/lib/raven/event.rb +3 -2
- data/lib/raven/interfaces/stack_trace.rb +1 -1
- data/lib/raven/logger.rb +3 -0
- data/lib/raven/transports/http.rb +1 -1
- data/lib/raven/version.rb +1 -1
- metadata +16 -27
data/README.md
CHANGED
@@ -143,6 +143,29 @@ Raven.configure do |config|
|
|
143
143
|
end
|
144
144
|
```
|
145
145
|
|
146
|
+
### Tags
|
147
|
+
|
148
|
+
You can configure default tags to be sent with every event. These can be
|
149
|
+
overridden in the context or event.
|
150
|
+
|
151
|
+
```ruby
|
152
|
+
Raven.configure do |config|
|
153
|
+
config.tags = { environment: Rails.env }
|
154
|
+
end
|
155
|
+
```
|
156
|
+
|
157
|
+
### SSL Verification
|
158
|
+
|
159
|
+
By default SSL certificate verification is **disabled** in the client. This choice
|
160
|
+
was made due to root CAs not being commonly available on systems. If you'd like
|
161
|
+
to change this, you can enable verification by passing the ``ssl_verification``
|
162
|
+
flag:
|
163
|
+
|
164
|
+
```ruby
|
165
|
+
Raven.configure do |config|
|
166
|
+
config.ssl_verification = true
|
167
|
+
```
|
168
|
+
|
146
169
|
## Sanitizing Data (Processors)
|
147
170
|
|
148
171
|
If you need to sanitize or pre-process (before its sent to the server) data, you can do so using the Processors
|
data/lib/raven/backtrace.rb
CHANGED
@@ -9,9 +9,9 @@ module Raven
|
|
9
9
|
class Line
|
10
10
|
|
11
11
|
# regexp (optionnally allowing leading X: for windows support)
|
12
|
-
INPUT_FORMAT = %r{^((?:[a-zA-Z]:)?[^:]
|
12
|
+
INPUT_FORMAT = %r{^((?:[a-zA-Z]:)?[^:]+|<.*>):(\d+)(?::in `([^']+)')?$}.freeze
|
13
13
|
|
14
|
-
APP_DIRS_PATTERN =
|
14
|
+
APP_DIRS_PATTERN = /(bin|app|config|lib|test)/
|
15
15
|
|
16
16
|
# The file portion of the line (such as app/models/user.rb)
|
17
17
|
attr_reader :file
|
@@ -37,8 +37,9 @@ module Raven
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def in_app
|
40
|
-
|
41
|
-
|
40
|
+
@in_app_pattern ||= Regexp.new("^(#{project_root}/)?#{APP_DIRS_PATTERN}")
|
41
|
+
|
42
|
+
if self.file =~ @in_app_pattern
|
42
43
|
true
|
43
44
|
else
|
44
45
|
false
|
data/lib/raven/cli.rb
CHANGED
@@ -19,7 +19,8 @@ module Raven
|
|
19
19
|
|
20
20
|
# wipe out env settings to ensure we send the event
|
21
21
|
if !Raven.configuration.send_in_current_environment? then
|
22
|
-
|
22
|
+
environments = Raven.configuration.environments
|
23
|
+
env_name = (environments && environments[0]) || 'production'
|
23
24
|
puts "Setting environment to #{env_name}"
|
24
25
|
Raven.configuration.current_environment = env_name
|
25
26
|
end
|
data/lib/raven/client.rb
CHANGED
@@ -53,7 +53,13 @@ module Raven
|
|
53
53
|
processor.process(memo)
|
54
54
|
end
|
55
55
|
|
56
|
-
|
56
|
+
new_adapter = configuration.json_adapter
|
57
|
+
begin
|
58
|
+
old_adapter, MultiJson.adapter = MultiJson.adapter, new_adapter if new_adapter
|
59
|
+
encoded = MultiJson.encode(hash)
|
60
|
+
ensure
|
61
|
+
MultiJson.adapter = old_adapter if new_adapter
|
62
|
+
end
|
57
63
|
|
58
64
|
case self.configuration.encoding
|
59
65
|
when 'gzip'
|
data/lib/raven/configuration.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'logger'
|
2
|
+
|
1
3
|
module Raven
|
2
4
|
class Configuration
|
3
5
|
|
@@ -62,6 +64,13 @@ module Raven
|
|
62
64
|
|
63
65
|
attr_accessor :server_name
|
64
66
|
|
67
|
+
# The JSON adapter to be used. When unset, use multi_json's
|
68
|
+
# intelligent defaults.
|
69
|
+
attr_accessor :json_adapter
|
70
|
+
|
71
|
+
# Default tags for events
|
72
|
+
attr_accessor :tags
|
73
|
+
|
65
74
|
IGNORE_DEFAULT = ['ActiveRecord::RecordNotFound',
|
66
75
|
'ActionController::RoutingError',
|
67
76
|
'ActionController::InvalidAuthenticityToken',
|
@@ -81,6 +90,7 @@ module Raven
|
|
81
90
|
self.encoding = 'json'
|
82
91
|
self.timeout = 1
|
83
92
|
self.open_timeout = 1
|
93
|
+
self.tags = {}
|
84
94
|
end
|
85
95
|
|
86
96
|
def server=(value)
|
data/lib/raven/event.rb
CHANGED
@@ -52,7 +52,8 @@ module Raven
|
|
52
52
|
@extra = options[:extra] || {}
|
53
53
|
@extra.merge!(context.extra)
|
54
54
|
|
55
|
-
@tags =
|
55
|
+
@tags = @configuration.tags
|
56
|
+
@tags.merge!(options[:tags] || {})
|
56
57
|
@tags.merge!(context.tags)
|
57
58
|
|
58
59
|
block.call(self) if block
|
@@ -123,7 +124,7 @@ module Raven
|
|
123
124
|
Raven.logger.info "Refusing to capture Raven error: #{exc.inspect}"
|
124
125
|
return nil
|
125
126
|
end
|
126
|
-
if configuration[:excluded_exceptions].any? { |x| x === exc || x == exc.class.name }
|
127
|
+
if configuration[:excluded_exceptions].any? { |x| (x === exc rescue false) || x == exc.class.name }
|
127
128
|
Raven.logger.info "User excluded error: #{exc.inspect}"
|
128
129
|
return nil
|
129
130
|
end
|
@@ -45,7 +45,7 @@ module Raven
|
|
45
45
|
def filename
|
46
46
|
return nil if self.abs_path.nil?
|
47
47
|
|
48
|
-
prefix = $:.select {|s| self.abs_path.start_with?(s)}.sort_by {|s| s.length}.last
|
48
|
+
prefix = $:.select {|s| self.abs_path.start_with?(s.to_s)}.sort_by {|s| s.length}.last
|
49
49
|
prefix ? self.abs_path[prefix.chomp(File::SEPARATOR).length+1..-1] : self.abs_path
|
50
50
|
end
|
51
51
|
|
data/lib/raven/logger.rb
CHANGED
@@ -13,6 +13,9 @@ module Raven
|
|
13
13
|
msg = args[0] # Block-level default args is a 1.9 feature
|
14
14
|
msg ||= block.call if block
|
15
15
|
logger = Raven.configuration[:logger]
|
16
|
+
if logger.nil?
|
17
|
+
logger = ::Logger.new(STDOUT)
|
18
|
+
end
|
16
19
|
logger.send(level, "#{LOG_PREFIX}#{msg}") if logger
|
17
20
|
end
|
18
21
|
end
|
@@ -28,7 +28,7 @@ module Raven
|
|
28
28
|
Raven.logger.debug "Raven HTTP Transport connecting to #{self.configuration.server}"
|
29
29
|
|
30
30
|
ssl_configuration = self.configuration.ssl || {}
|
31
|
-
ssl_configuration[:verify] = self.configuration.ssl_verification
|
31
|
+
ssl_configuration[:verify] = self.configuration.ssl_verification
|
32
32
|
|
33
33
|
conn = Faraday.new(
|
34
34
|
:url => self.configuration[:server],
|
data/lib/raven/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sentry-raven
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-07-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: faraday
|
17
|
-
requirement: &
|
17
|
+
requirement: &70301602282360 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 0.7.6
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70301602282360
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: uuidtools
|
28
|
-
requirement: &
|
28
|
+
requirement: &70301602281940 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70301602281940
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: multi_json
|
39
|
-
requirement: &
|
39
|
+
requirement: &70301602281340 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '1.0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70301602281340
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: hashie
|
50
|
-
requirement: &
|
50
|
+
requirement: &70301602280340 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 1.1.0
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70301602280340
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rake
|
61
|
-
requirement: &
|
61
|
+
requirement: &70301602279240 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70301602279240
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: rspec
|
72
|
-
requirement: &
|
72
|
+
requirement: &70301602278480 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,21 +77,10 @@ dependencies:
|
|
77
77
|
version: '2.10'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: simplecov
|
83
|
-
requirement: &70175567370740 !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
|
-
requirements:
|
86
|
-
- - ! '>='
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '0'
|
89
|
-
type: :development
|
90
|
-
prerelease: false
|
91
|
-
version_requirements: *70175567370740
|
80
|
+
version_requirements: *70301602278480
|
92
81
|
- !ruby/object:Gem::Dependency
|
93
82
|
name: coveralls
|
94
|
-
requirement: &
|
83
|
+
requirement: &70301602277960 !ruby/object:Gem::Requirement
|
95
84
|
none: false
|
96
85
|
requirements:
|
97
86
|
- - ! '>='
|
@@ -99,7 +88,7 @@ dependencies:
|
|
99
88
|
version: '0'
|
100
89
|
type: :development
|
101
90
|
prerelease: false
|
102
|
-
version_requirements: *
|
91
|
+
version_requirements: *70301602277960
|
103
92
|
description:
|
104
93
|
email: noah@coderanger.net
|
105
94
|
executables:
|