Commit 951835e69020e28fedf356c71d3816d6e4e40234

Authored by Michał Młoźniak
1 parent 4eed9f65
Exists in master and in 1 other branch production

Update readme with javascript error reporting

I've added description how to setup airbrake-js to log javascript errors
in errbit and how one can test v3 api using airbrake ruby client.
Showing 1 changed file with 46 additions and 3 deletions   Show diff stats
README.md
... ... @@ -305,13 +305,56 @@ it will be displayed under the *User Details* tab:
305 305 Javascript error notifications
306 306 --------------------------------------
307 307  
308   -You can log javascript errors that occur in your application by including the
309   -following script tag before any javascript is loaded in your application.
  308 +You can log javascript errors that occur in your application by including
  309 +[airbrake-js](https://github.com/airbrake/airbrake-js) javascript library.
310 310  
  311 +First you need to add airbrake-shim.js to your site and set some basic configuration
  312 +options:
  313 +
  314 +```
  315 +<script src="airbrake-shim.js" data-airbrake-project-id="ERRBIT API KEY" data-airbrake-project-key="ERRBIT API KEY" data-airbrake-environment-name="production" data-airbrake-host="http://errbit.yourdomain.com"></script>
311 316 ```
312   -<script src="//YOUR-ERRBIT-HOST/javascripts/notifier.js" type="text/javascript"></script>
  317 +
  318 +Or you can just add shim file and set these options using:
  319 +
313 320 ```
  321 +Airbrake.setProject("ERRBIT API KEY", "ERRBIT API KEY");
  322 +Airbrake.setHost("http://errbit.yourdomain.com");
  323 +```
  324 +
  325 +And that's it.
  326 +
  327 +Testing API V3 using ruby airbrake client
  328 +-----------------------------------------
  329 +
  330 +If you want you test standard airbrake ruby gem with API V3. To do that you
  331 +need to change your airbrake initializer file to something like this:
  332 +
  333 +```
  334 +Airbrake.configure do |config|
  335 + config.api_key = ENV['airbrake_api_key']
  336 + config.host = ENV['airbrake_host']
  337 + config.port = ENV['airbrake_port'].to_i
  338 + config.secure = ENV['airbrake_secure'] == 'true'
  339 + config.project_id = ENV['airbrake_api_key']
  340 +end
  341 +
  342 +class Airbrake::Sender
  343 + def json_api_enabled?
  344 + true
  345 + end
  346 +end
  347 +```
  348 +
  349 +It is important to set project_id option to the same value as api_key, because
  350 +project_id is required for building url to api endpoint. And airbrake has a bug
  351 +that removes api_key from endpoint url. The only way to get this value is by passing
  352 +it as project_id. This little monkey-patch is required because airbrake gem only
  353 +uses v3 api when host is set to collect.airbrake.io.
314 354  
  355 +V3 request don't have framework option so you won't see this value in your error
  356 +notices in errbit. Besides that everything looks the same. It was tested using
  357 +rake airbrake:test for both v2 and v3.
315 358  
316 359 Using custom fingerprinting methods
317 360 -----------------------------------
... ...