airbrake 3.0.9 → 3.1.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.
- data/CHANGELOG +162 -0
- data/Gemfile +1 -0
- data/INSTALL +0 -5
- data/README.md +60 -35
- data/README_FOR_HEROKU_ADDON.md +30 -29
- data/Rakefile +47 -15
- data/SUPPORTED_RAILS_VERSIONS +11 -0
- data/TESTING.md +6 -4
- data/airbrake.gemspec +5 -4
- data/features/metal.feature +2 -7
- data/features/rack.feature +1 -5
- data/features/rails.feature +9 -41
- data/features/rails_with_js_notifier.feature +20 -1
- data/features/rake.feature +2 -2
- data/features/sinatra.feature +1 -5
- data/features/step_definitions/rack_steps.rb +3 -0
- data/features/step_definitions/rails_application_steps.rb +39 -15
- data/features/support/airbrake_shim.rb.template +4 -8
- data/features/support/rails.rb +20 -3
- data/features/user_informer.feature +3 -3
- data/generators/airbrake/airbrake_generator.rb +6 -2
- data/generators/airbrake/templates/airbrake_tasks.rake +1 -1
- data/lib/airbrake.rb +2 -3
- data/lib/airbrake/capistrano.rb +3 -2
- data/lib/airbrake/configuration.rb +26 -8
- data/lib/airbrake/notice.rb +2 -2
- data/lib/airbrake/rack.rb +4 -1
- data/lib/airbrake/rails.rb +4 -5
- data/lib/airbrake/rails/controller_methods.rb +19 -13
- data/lib/airbrake/rails/javascript_notifier.rb +1 -1
- data/lib/airbrake/rails/middleware/exceptions_catcher.rb +27 -0
- data/lib/airbrake/rails3_tasks.rb +4 -1
- data/lib/airbrake/railtie.rb +19 -4
- data/lib/airbrake/rake_handler.rb +1 -1
- data/lib/airbrake/sender.rb +2 -7
- data/lib/airbrake/shared_tasks.rb +9 -3
- data/lib/airbrake/user_informer.rb +1 -1
- data/lib/airbrake/version.rb +1 -1
- data/lib/airbrake_tasks.rb +11 -8
- data/lib/rails/generators/airbrake/airbrake_generator.rb +6 -2
- data/script/integration_test.rb +1 -1
- data/test/airbrake_tasks_test.rb +2 -2
- data/test/backtrace_test.rb +0 -1
- data/test/configuration_test.rb +2 -2
- data/test/helper.rb +0 -4
- data/test/notice_test.rb +3 -1
- data/test/notifier_test.rb +1 -1
- data/test/sender_test.rb +18 -18
- metadata +151 -233
- data/.gitignore +0 -18
- data/.yardopts +0 -3
- data/features/step_definitions/airbrake_shim.rb.template +0 -15
data/CHANGELOG
CHANGED
|
@@ -1,3 +1,164 @@
|
|
|
1
|
+
Version 3.1.0 - 2012-05-28 02:25:09 +0200
|
|
2
|
+
===============================================================================
|
|
3
|
+
|
|
4
|
+
Andre Arko (1):
|
|
5
|
+
stop using deprecated RAILS_ROOT
|
|
6
|
+
|
|
7
|
+
Benjamin Oakes (5):
|
|
8
|
+
notify_airbrake: filter params on Rails 3.1 (and maybe 3.0 also)
|
|
9
|
+
`params` is the (eventual) intent, but `hash` is clearer in context
|
|
10
|
+
One-liner, per @shime
|
|
11
|
+
Exception safety: worst case scenario, report the unfiltered hash
|
|
12
|
+
(m) Summarize the cases for future maintainers
|
|
13
|
+
|
|
14
|
+
Blake Watters (1):
|
|
15
|
+
Modify Rake handler to use Airbrake.notify_or_ignore rather than Airbrake.notify
|
|
16
|
+
|
|
17
|
+
Chris Griego (1):
|
|
18
|
+
Fix allowing airbrake_env/TO being different from rails_env/RAILS_ENV in deployment notifications.
|
|
19
|
+
|
|
20
|
+
David (10):
|
|
21
|
+
Merge pull request #33 from cgriego/patch-1
|
|
22
|
+
Merge pull request #51 from unnu/master
|
|
23
|
+
Merge pull request #56 from GateGuru/rake_handler_fix
|
|
24
|
+
Merge pull request #60 from DaPulse/master
|
|
25
|
+
Merge pull request #71 from sgonyea/patch-1
|
|
26
|
+
Merge pull request #75 from blackhacker/master
|
|
27
|
+
Merge pull request #81 from brainopia/patch-1
|
|
28
|
+
Merge pull request #82 from ghurrell/fix-readme-stubbing-example
|
|
29
|
+
Merge pull request #80 from yanowitz/patch-1
|
|
30
|
+
Merge pull request #86 from Playhem/master
|
|
31
|
+
|
|
32
|
+
David Palm (5):
|
|
33
|
+
Set VERIFY_PEER in rake task
|
|
34
|
+
More idiomatic inject
|
|
35
|
+
Not quite ready yet. Revert "Heroku references now are to Airbrake."
|
|
36
|
+
Adds `pry` to the gems available in test env
|
|
37
|
+
Works outside Rails
|
|
38
|
+
|
|
39
|
+
Eran Kampf (2):
|
|
40
|
+
Fix for apps behind a local proxy (EY App Master)
|
|
41
|
+
Changed if statement to one liner
|
|
42
|
+
|
|
43
|
+
Erik Ostrom (1):
|
|
44
|
+
Updated Heroku README to use Airbrake's new name.
|
|
45
|
+
|
|
46
|
+
Gary Rafferty (1):
|
|
47
|
+
Fix typo in airbrake.gemspec
|
|
48
|
+
|
|
49
|
+
Greg Hurrell (1):
|
|
50
|
+
Update stubbing example in README to match method signature
|
|
51
|
+
|
|
52
|
+
Hrvoje Šimić (47):
|
|
53
|
+
Merge pull request #59 from benjaminoakes/master
|
|
54
|
+
Merge pull request #62 from sleparc/master
|
|
55
|
+
Merge pull request #63 from benjaminoakes/master
|
|
56
|
+
improved readability
|
|
57
|
+
added new middleware catcher, fixes #73
|
|
58
|
+
Merge pull request #72 from 'jdel/lazyload'
|
|
59
|
+
Merge pull request #87 from gary-rafferty/master
|
|
60
|
+
Stop using include? to filter parameters
|
|
61
|
+
renaming so it's easier to understand
|
|
62
|
+
Merge pull request #90 from samoli/patch-1
|
|
63
|
+
Merge pull request #68 from cylence/master
|
|
64
|
+
read ENV variables from heroku config, fixes #89
|
|
65
|
+
check for airbrake_api_key on heroku
|
|
66
|
+
Merge pull request #91 from mikz/patch-1
|
|
67
|
+
ignore user agents in rails 3.0+
|
|
68
|
+
Merge branch 'master' of github.com:airbrake/airbrake
|
|
69
|
+
Merge pull request #79 from morgoth/fix-passing-api-key-as-param-to-rake-task
|
|
70
|
+
minor test fix
|
|
71
|
+
let's catch errors that happen early in the stack
|
|
72
|
+
remove deprecated step definitions
|
|
73
|
+
update url in a test
|
|
74
|
+
fix required files in gemspec
|
|
75
|
+
use top-level namespace
|
|
76
|
+
fix requirements
|
|
77
|
+
add rvmrc
|
|
78
|
+
update server response in scenarios
|
|
79
|
+
update heroku mock
|
|
80
|
+
remove unnecessary space
|
|
81
|
+
prefer the latest stable ruby version
|
|
82
|
+
update steps for newer rails versions
|
|
83
|
+
support rails 3.2.x with the test suite
|
|
84
|
+
update exception catcher
|
|
85
|
+
monkeypatch the old rails versions in tests
|
|
86
|
+
remove fake exception from env
|
|
87
|
+
add sanity to rescue_action_in_public_without_airbrake call
|
|
88
|
+
remove note for rails 1.2.x users, we don't support it
|
|
89
|
+
support the latest rails versions
|
|
90
|
+
add 3.0.11 and 3.0.12 to supported versions
|
|
91
|
+
update rack synopsis
|
|
92
|
+
log messages for sinatra and rack
|
|
93
|
+
make rack and sinatra tests green
|
|
94
|
+
update rack example in readme
|
|
95
|
+
Update ignored exceptions by default in readme
|
|
96
|
+
update explanation how we catch errors in readme
|
|
97
|
+
fix formatting
|
|
98
|
+
add all supported frameworks to rake test task
|
|
99
|
+
make metal tests green
|
|
100
|
+
|
|
101
|
+
Jason Yanowitz (2):
|
|
102
|
+
remove git dependency from generating gemspec file. causes errors when vendoring this gem in other projects
|
|
103
|
+
updated gemspec files specification based on feedback
|
|
104
|
+
|
|
105
|
+
Jean-Michel Garnier (1):
|
|
106
|
+
Update README.md
|
|
107
|
+
|
|
108
|
+
Jonathan Siegel (5):
|
|
109
|
+
Heroku references now are to Airbrake.
|
|
110
|
+
Merge branch 'master' of github.com:airbrake/airbrake
|
|
111
|
+
Added beta support fer cedar.
|
|
112
|
+
Added beta support fer cedar.
|
|
113
|
+
Migrated to new api.airbrake.io endpoint.
|
|
114
|
+
|
|
115
|
+
Jonathan del Strother (1):
|
|
116
|
+
Lazily-load actioncontroller
|
|
117
|
+
|
|
118
|
+
Leonid Shevtsov (3):
|
|
119
|
+
Feature: use a separate API key for Javascript notifications
|
|
120
|
+
cleaned up configuration
|
|
121
|
+
Merge branch 'master' of git://github.com/airbrake/airbrake
|
|
122
|
+
|
|
123
|
+
Michal Cichra (1):
|
|
124
|
+
Use id to lookup error instead of error-id.
|
|
125
|
+
|
|
126
|
+
Nathan Broadbent (1):
|
|
127
|
+
Added Mongoid::Errors::DocumentNotFound to default IGNORED exceptions (same as ActiveRecord::RecordNotFound, for Mongoid.)
|
|
128
|
+
|
|
129
|
+
Ravil Bayramgalin (1):
|
|
130
|
+
Update lib/airbrake/user_informer.rb
|
|
131
|
+
|
|
132
|
+
Ryan L. Cross (1):
|
|
133
|
+
Added unix style param for url in the deployhook rake task.
|
|
134
|
+
|
|
135
|
+
Sam Oliver (1):
|
|
136
|
+
Update hoptoad=>aibrake in rake task example
|
|
137
|
+
|
|
138
|
+
Scott Gonyea (1):
|
|
139
|
+
Document proxy parameters; namely, that the proxy_host does not require "http://" as a prefix. Ideally, config.proxy= could be given a URI.
|
|
140
|
+
|
|
141
|
+
Simon Le Parc (1):
|
|
142
|
+
Shouldn't test the native dup method
|
|
143
|
+
|
|
144
|
+
Stuart Chaney (1):
|
|
145
|
+
Updating README gem instructions for Rails 2.3 with bundler.
|
|
146
|
+
|
|
147
|
+
Wojciech Wnętrzak (1):
|
|
148
|
+
fixed passing api_key param to Airbrake deploy task
|
|
149
|
+
|
|
150
|
+
blackhacker (1):
|
|
151
|
+
more detailed error message
|
|
152
|
+
|
|
153
|
+
unnu (1):
|
|
154
|
+
Fixed TaggedLogging bug in Rails 3 rake test task
|
|
155
|
+
|
|
156
|
+
usiegj00 (3):
|
|
157
|
+
Merge pull request #46 from eostrom/master
|
|
158
|
+
Merge pull request #47 from 21croissants/master
|
|
159
|
+
Merge pull request #38 from ndbroadbent/ignore_mongoid_notfound
|
|
160
|
+
|
|
161
|
+
|
|
1
162
|
Version 3.0.9 - Thu Dec 15 23:51:38 +0100 2011
|
|
2
163
|
===============================================================================
|
|
3
164
|
|
|
@@ -639,3 +800,4 @@ Nick Quaranto (3):
|
|
|
639
800
|
|
|
640
801
|
|
|
641
802
|
|
|
803
|
+
|
data/Gemfile
CHANGED
data/INSTALL
CHANGED
|
@@ -18,8 +18,3 @@ this rake task (from RAILS_ROOT):
|
|
|
18
18
|
|
|
19
19
|
If everything is configured properly, that task will send a notice to Airbrake
|
|
20
20
|
which will be visible immediately.
|
|
21
|
-
|
|
22
|
-
NOTE FOR RAILS 1.2.* USERS:
|
|
23
|
-
|
|
24
|
-
You will need to copy the airbrake_tasks.rb file into your
|
|
25
|
-
RAILS_ROOT/lib/tasks directory in order for the rake airbrake:test task to work.
|
data/README.md
CHANGED
|
@@ -18,22 +18,6 @@ For SSL verification see the [Resources](https://github.com/airbrake/airbrake/bl
|
|
|
18
18
|
Rails Installation
|
|
19
19
|
------------------
|
|
20
20
|
|
|
21
|
-
### Remove hoptoad_notifier
|
|
22
|
-
|
|
23
|
-
in your ApplicationController, REMOVE this line:
|
|
24
|
-
|
|
25
|
-
include HoptoadNotifiable
|
|
26
|
-
|
|
27
|
-
In your config/environment* files, remove all references to HoptoadNotifier
|
|
28
|
-
|
|
29
|
-
Remove the vendor/plugins/hoptoad_notifier directory.
|
|
30
|
-
|
|
31
|
-
### Remove hoptoad_notifier plugin
|
|
32
|
-
|
|
33
|
-
Remove the vendor/plugins/hoptoad_notifier directory before installing the gem, or run:
|
|
34
|
-
|
|
35
|
-
script/plugin remove hoptoad_notifier
|
|
36
|
-
|
|
37
21
|
### Rails 3.x
|
|
38
22
|
|
|
39
23
|
Add the airbrake gem to your Gemfile. In Gemfile:
|
|
@@ -54,6 +38,10 @@ The generator creates a file under `config/initializers/airbrake.rb` configuring
|
|
|
54
38
|
Add the airbrake gem to your app. In config/environment.rb:
|
|
55
39
|
|
|
56
40
|
config.gem 'airbrake'
|
|
41
|
+
|
|
42
|
+
or if you are using bundler:
|
|
43
|
+
|
|
44
|
+
gem 'airbrake', :require => 'airbrake/rails'
|
|
57
45
|
|
|
58
46
|
Then from your project's RAILS_ROOT, and in your development environment, run:
|
|
59
47
|
|
|
@@ -135,6 +123,21 @@ this rake task (from RAILS_ROOT):
|
|
|
135
123
|
If everything is configured properly, that task will send a notice to Airbrake
|
|
136
124
|
which will be visible immediately.
|
|
137
125
|
|
|
126
|
+
### Removing hoptoad_notifier
|
|
127
|
+
|
|
128
|
+
in your ApplicationController, REMOVE this line:
|
|
129
|
+
|
|
130
|
+
include HoptoadNotifiable
|
|
131
|
+
|
|
132
|
+
In your config/environment* files, remove all references to HoptoadNotifier
|
|
133
|
+
|
|
134
|
+
Remove the vendor/plugins/hoptoad_notifier directory.
|
|
135
|
+
|
|
136
|
+
### Remove hoptoad_notifier plugin
|
|
137
|
+
|
|
138
|
+
Remove the vendor/plugins/hoptoad_notifier directory before installing the gem, or run:
|
|
139
|
+
|
|
140
|
+
script/plugin remove hoptoad_notifier
|
|
138
141
|
|
|
139
142
|
Non-rails apps using Bundler
|
|
140
143
|
----------------------------
|
|
@@ -162,9 +165,11 @@ middleware:
|
|
|
162
165
|
end
|
|
163
166
|
|
|
164
167
|
app = Rack::Builder.app do
|
|
165
|
-
use Airbrake::Rack
|
|
166
168
|
run lambda { |env| raise "Rack down" }
|
|
167
169
|
end
|
|
170
|
+
|
|
171
|
+
use Airbrake::Rack
|
|
172
|
+
run app
|
|
168
173
|
|
|
169
174
|
Sinatra
|
|
170
175
|
-------
|
|
@@ -187,9 +192,9 @@ Using airbrake in a Sinatra app is just like a Rack app:
|
|
|
187
192
|
Usage
|
|
188
193
|
-----
|
|
189
194
|
|
|
190
|
-
For the most part, Airbrake works for itself.
|
|
191
|
-
|
|
192
|
-
|
|
195
|
+
For the most part, Airbrake works for itself.
|
|
196
|
+
|
|
197
|
+
It intercepts the exception middleware calls, sends notifications and continues the middleware call chain.
|
|
193
198
|
|
|
194
199
|
If you want to log arbitrary things which you've rescued yourself from a
|
|
195
200
|
controller, you can do something like this:
|
|
@@ -222,13 +227,18 @@ then that comment will be replaced with the text "Airbrake Error [errnum]". You
|
|
|
222
227
|
of the informer by setting `config.user_information`. Airbrake will replace "{{ error_id }}" with the
|
|
223
228
|
ID of the error that is returned from Airbrake.
|
|
224
229
|
|
|
225
|
-
|
|
230
|
+
Airbrake.configure do |config|
|
|
226
231
|
...
|
|
227
|
-
|
|
228
|
-
|
|
232
|
+
config.user_information = "<p>Tell the devs that it was <strong>{{ error_id }}</strong>'s fault.</p>"
|
|
233
|
+
end
|
|
229
234
|
|
|
230
235
|
You can also turn the middleware that handles this completely off by setting `config.user_information` to false.
|
|
231
236
|
|
|
237
|
+
Note that this feature is reading the error id from `env['airbrake.error_id']`. When the exception is caught
|
|
238
|
+
automatically in a controller, Airbrake sets that value. If you're, however, calling the Airbrake methods like
|
|
239
|
+
`Airbrake#notify` or `Airbrake#notify_or_ignore`, please make sure you set that value. So the proper way of calling the
|
|
240
|
+
"manual" methods would be `env['airbrake.error_id'] = Airbrake.notify_or_ignore(...)`.
|
|
241
|
+
|
|
232
242
|
Tracking deployments in Airbrake
|
|
233
243
|
--------------------------------
|
|
234
244
|
|
|
@@ -310,12 +320,14 @@ notifications (when #notify is called directly).
|
|
|
310
320
|
|
|
311
321
|
Airbrake ignores the following exceptions by default:
|
|
312
322
|
|
|
313
|
-
AbstractController::ActionNotFound
|
|
314
323
|
ActiveRecord::RecordNotFound
|
|
315
324
|
ActionController::RoutingError
|
|
316
325
|
ActionController::InvalidAuthenticityToken
|
|
317
|
-
ActionController::UnknownAction
|
|
318
326
|
CGI::Session::CookieStore::TamperedWithCookie
|
|
327
|
+
ActionController::UnknownAction
|
|
328
|
+
AbstractController::ActionNotFound
|
|
329
|
+
Mongoid::Errors::DocumentNotFound
|
|
330
|
+
|
|
319
331
|
|
|
320
332
|
To ignore errors in addition to those, specify their names in your Airbrake
|
|
321
333
|
configuration block.
|
|
@@ -369,7 +381,7 @@ use code like this in your test_helper.rb or spec_helper.rb files to redefine
|
|
|
369
381
|
that method so those errors are not reported while running tests.
|
|
370
382
|
|
|
371
383
|
module Airbrake
|
|
372
|
-
def self.notify(
|
|
384
|
+
def self.notify(exception, opts = {})
|
|
373
385
|
# do nothing.
|
|
374
386
|
end
|
|
375
387
|
end
|
|
@@ -380,10 +392,10 @@ Proxy Support
|
|
|
380
392
|
The notifier supports using a proxy, if your server is not able to directly reach the Airbrake servers. To configure the proxy settings, added the following information to your Airbrake configuration block.
|
|
381
393
|
|
|
382
394
|
Airbrake.configure do |config|
|
|
383
|
-
config.proxy_host =
|
|
384
|
-
config.proxy_port =
|
|
385
|
-
config.proxy_user =
|
|
386
|
-
config.proxy_pass =
|
|
395
|
+
config.proxy_host = proxy.host.com
|
|
396
|
+
config.proxy_port = 4038
|
|
397
|
+
config.proxy_user = foo # optional
|
|
398
|
+
config.proxy_pass = bar # optional
|
|
387
399
|
|
|
388
400
|
Supported Rails versions
|
|
389
401
|
------------------------
|
|
@@ -391,8 +403,8 @@ Supported Rails versions
|
|
|
391
403
|
See SUPPORTED_RAILS_VERSIONS for a list of official supported versions of
|
|
392
404
|
Rails.
|
|
393
405
|
|
|
394
|
-
Please open up a support ticket ( http://help.airbrake.io )
|
|
395
|
-
you're using a version of Rails that is listed above and the notifier is
|
|
406
|
+
Please open up a support ticket ( http://help.airbrake.io ) or submit a new github issue
|
|
407
|
+
if you're using a version of Rails that is listed above and the notifier is
|
|
396
408
|
not working properly.
|
|
397
409
|
|
|
398
410
|
Javascript Notifer
|
|
@@ -418,6 +430,19 @@ It's important to insert this very high in the markup, above all other javascrip
|
|
|
418
430
|
|
|
419
431
|
This helper will automatically use the API key, host, and port specified in the configuration.
|
|
420
432
|
|
|
433
|
+
The Javascript notifier tends to send much more notifications than the base Rails project.
|
|
434
|
+
If you want to receive them into a separate Airbrake project, specify its
|
|
435
|
+
API key in the `js_api_key` option.
|
|
436
|
+
|
|
437
|
+
config.js_api_key = 'another-projects-api-key'
|
|
438
|
+
|
|
439
|
+
To test the Javascript notifier in development environment, overwrite (temporarily) the development_environments option:
|
|
440
|
+
|
|
441
|
+
Airbrake.configure do |config|
|
|
442
|
+
# ...
|
|
443
|
+
config.development_environments = []
|
|
444
|
+
end
|
|
445
|
+
|
|
421
446
|
Development
|
|
422
447
|
-----------
|
|
423
448
|
|
|
@@ -428,13 +453,13 @@ Credits
|
|
|
428
453
|
|
|
429
454
|

|
|
430
455
|
|
|
431
|
-
Airbrake is maintained and funded by [
|
|
456
|
+
Airbrake is maintained and funded by [airbrake.io](http://airbrake.io)
|
|
432
457
|
|
|
433
458
|
Thank you to all [the contributors](https://github.com/airbrake/airbrake/contributors)!
|
|
434
459
|
|
|
435
|
-
The names and logos for thoughtbot are trademarks of
|
|
460
|
+
The names and logos for Airbrake, thoughtbot are trademarks of their respective holders.
|
|
436
461
|
|
|
437
462
|
License
|
|
438
463
|
-------
|
|
439
464
|
|
|
440
|
-
Airbrake is Copyright © 2008-
|
|
465
|
+
Airbrake is Copyright © 2008-2012 Airbrake. It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.
|
data/README_FOR_HEROKU_ADDON.md
CHANGED
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
Airbrake on Heroku
|
|
2
|
+
==================
|
|
3
|
+
|
|
3
4
|
Send your application errors to our hosted service and reclaim your inbox.
|
|
4
5
|
|
|
5
6
|
1. Installing the Heroku add-on
|
|
6
7
|
----------------------------
|
|
7
|
-
To use
|
|
8
|
+
To use Airbrake on Heroku, install the Airbrake add-on:
|
|
8
9
|
|
|
9
|
-
$ heroku addons:add
|
|
10
|
-
|
|
10
|
+
$ heroku addons:add airbrake:basic # This adds the the basic plan.
|
|
11
|
+
# If you'd like another plan, specify that instead.
|
|
11
12
|
|
|
12
|
-
2. Including the
|
|
13
|
+
2. Including the Airbrake notifier in your application
|
|
13
14
|
--------------------------------------------------
|
|
14
|
-
After adding the
|
|
15
|
+
After adding the Airbrake add-on, you will need to install and configure the Airbrake notifier.
|
|
15
16
|
|
|
16
|
-
Your application connects to
|
|
17
|
-
application in `ENV['HOPTOAD_API_KEY']`, so installation should be a snap!
|
|
17
|
+
Your application connects to Airbrake with an API key. On Heroku, this is automatically provided to your
|
|
18
|
+
application in `ENV['HOPTOAD_API_KEY']`, so installation should be a snap! (Hoptoad is Airbrake's old name.)
|
|
18
19
|
|
|
19
20
|
### Rails 3.x
|
|
20
21
|
|
|
21
|
-
Add the
|
|
22
|
+
Add the airbrake and heroku gems to your Gemfile. In Gemfile:
|
|
22
23
|
|
|
23
|
-
gem '
|
|
24
|
+
gem 'airbrake'
|
|
24
25
|
gem 'heroku'
|
|
25
26
|
|
|
26
27
|
Then from your project's RAILS_ROOT, run:
|
|
27
28
|
|
|
28
29
|
$ bundle install
|
|
29
|
-
$ script/rails generate
|
|
30
|
+
$ script/rails generate airbrake --heroku
|
|
30
31
|
|
|
31
32
|
### Rails 2.x
|
|
32
33
|
|
|
@@ -34,39 +35,39 @@ Install the heroku gem if you haven't already:
|
|
|
34
35
|
|
|
35
36
|
gem install heroku
|
|
36
37
|
|
|
37
|
-
Add the
|
|
38
|
+
Add the airbrake gem to your app. In config/environment.rb:
|
|
38
39
|
|
|
39
|
-
config.gem '
|
|
40
|
+
config.gem 'airbrake'
|
|
40
41
|
|
|
41
42
|
Then from your project's RAILS_ROOT, run:
|
|
42
43
|
|
|
43
44
|
$ rake gems:install
|
|
44
|
-
$ rake gems:unpack GEM=
|
|
45
|
-
$ script/generate
|
|
45
|
+
$ rake gems:unpack GEM=airbrake
|
|
46
|
+
$ script/generate airbrake --heroku
|
|
46
47
|
|
|
47
|
-
As always, if you choose not to vendor the
|
|
48
|
+
As always, if you choose not to vendor the airbrake gem, make sure
|
|
48
49
|
every server you deploy to has the gem installed or your application won't start.
|
|
49
50
|
|
|
50
51
|
### Rack applications
|
|
51
52
|
|
|
52
|
-
In order to use
|
|
53
|
+
In order to use airbrake in a non-Rails rack app, just load the airbrake, configure your API key, and use the Airbrake::Rack middleware:
|
|
53
54
|
|
|
54
55
|
require 'rubygems'
|
|
55
56
|
require 'rack'
|
|
56
|
-
require '
|
|
57
|
+
require 'airbrake'
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
Airbrake.configure do |config|
|
|
59
60
|
config.api_key = `ENV['HOPTOAD_API_KEY']`
|
|
60
61
|
end
|
|
61
62
|
|
|
62
63
|
app = Rack::Builder.app do
|
|
63
|
-
use
|
|
64
|
+
use Airbrake::Rack
|
|
64
65
|
run lambda { |env| raise "Rack down" }
|
|
65
66
|
end
|
|
66
67
|
|
|
67
68
|
### Rails 1.x
|
|
68
69
|
|
|
69
|
-
For Rails 1.x, visit the [
|
|
70
|
+
For Rails 1.x, visit the [Airbrake notifier's README on GitHub](http://github.com/thoughtbot/airbrake),
|
|
70
71
|
and be sure to use `ENV['HOPTOAD_API_KEY']` where your API key is required in configuration code.
|
|
71
72
|
|
|
72
73
|
3. Configure your notification settings (important!)
|
|
@@ -77,17 +78,17 @@ you will want to configure your notification settings.
|
|
|
77
78
|
|
|
78
79
|
This is important - without setting your email address, you won't receive notification emails.
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
Airbrake can deliver exception notifications to your email inbox. To configure these delivery settings:
|
|
81
82
|
|
|
82
|
-
1. Visit your
|
|
83
|
-
2. Click
|
|
84
|
-
3. Click
|
|
83
|
+
1. Visit your applications resources page, like [ http://api.heroku.com/myapps/my-great-app/resources ](http://api.heroku.com/myapps/my-great-app/resources).
|
|
84
|
+
2. Click the name of your Airbrake addon. (It may still be called Hoptoad.)
|
|
85
|
+
3. Click "Settings" to configure the Hoptoad Add-on.
|
|
85
86
|
|
|
86
87
|
4. Optionally: Set up deploy notification
|
|
87
88
|
-----------------------------------------
|
|
88
89
|
|
|
89
|
-
If your
|
|
90
|
+
If your Airbrake plan supports deploy notification, set it up for your Heroku application like this:
|
|
90
91
|
|
|
91
|
-
rake
|
|
92
|
+
rake airbrake:heroku:add_deploy_notification
|
|
92
93
|
|
|
93
|
-
This will install a Heroku [HTTP Deploy Hook](http://docs.heroku.com/deploy-hooks) to notify
|
|
94
|
+
This will install a Heroku [HTTP Deploy Hook](http://docs.heroku.com/deploy-hooks) to notify Airbrake of the deploy.
|