airbrake 3.0.9 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
![thoughtbot](http://thoughtbot.com/images/tm/logo.png)
|
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.
|