Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
79 lines (56 sloc) 2.32 KB
merb_hoptoad_notifier
---------------------------------------------
This is merb plugin for exception notification with hoptoad. It should work with
any merb app that's based on merb 1.0 and higher
This plugin: http://github.com/atmos/merb_hoptoad_notifier/tree/master
The original: http://github.com/thoughtbot/hoptoad_notifier/tree/master
Usage:
1) Get your api key for your app from hoptoadapp.com
2) Add the api key to config/hoptoad.yml with a similar syntax as the following
---
:development: &defaults
:api_key: ZOMGLOLROFLMAO
:rake:
<<: *defaults
:test:
<<: *defaults
:production:
:api_key: UBERSECRETSHIT
3) Require hoptoad in init.rb
require 'merb_hoptoad_notifier'
4) Add the following method to your Exceptions controller. Depending on your merb version you'll need to use the exceptions,standard_error, or internal_server error as the action name. Kinda weak, but the API changed a lot in 0.9.x
class Exceptions < Merb::Controller
if %w( staging production ).include?(Merb.env)
def standard_error
HoptoadNotifier.notify_hoptoad(request, session)
render
end
end
end
5) Restart the server, trigger an error(in staging or prod) and check that it arrived at hoptoad :)
Multisite Support
-----------------
If you are running multiple sites and want to use a different key for each site, just set the
:api_key option in your config file as a hash, with a :default key plus any other keys you
wish to pass in. In your application, you can control key usage by passing a :site option
to warn_hoptoad, notify_hoptoad, and notify_hoptoad_exception.
Sample config:
---
:development: &defaults
:api_key:
:default: ZOMGLOLROFLMAO
site1: IDENTIFIEDBYASTRING
:site2: IDENTIFIEDBYASYMBOL
Initial multisite development funded by ALM Labs.
Filtering your post environment
-------------------------------
If you have environmental variables set in your ruby process that should not be sent to hoptoad,
there's a mechanism for filtering those attributes now. Throw something like this in
config/init.rb
Merb::BootLoader.after_app_loads do
HoptoadNotifier.environment_filters = %w(^AWS ^EC2 SECRET PRIVATE KEY)
end
Each of these words will be compiled into a regex so you should be able to use anchors if needed.
Thanks to the following GitHubbers
----------------------------------
joakimk, fairchild and cv.