bugsnag

Report exceptions in production from crystal http servers to Bugsnag.

Bugsnag

Report exceptions in production from crystal http servers to Bugsnag.

Installation

Add this to your application's shard.yml:

dependencies:
  bugsnag:
    github: fridgerator/bugsnag

Usage

  • This is meant to catch exceptions in a compiled production environment.
  • Dont use spawn to call Bugsnag.report, the http request sent to bugsnag will be done in a separate fiber. Building the report needs the context to remain open, and if Bugsnag.report is called in a spawn you will get a closed pipe error.
require "bugsnag"

Bugsnag.config do |conf|
  conf.api_key = ENV["BUGSNAG_API_KEY"] # is automatically set by this environment variable if not specified
  conf.name = "Application Name"
  conf.version = "1.0"
  conf.url = "https://my-website.com/"
  conf.release_stage = "production"
end

# In your middleware

class MyMiddlware < MyFrameworkHandler
  def call(context)
    begin
      call_next(context)
    rescue ex
      Bugsnag.report(context, ex)
      raise ex
    end
  end
end

Contributing

  1. Fork it (https://github.com/fridgerator/bugsnag/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Repository

bugsnag

Owner
Statistic
  • 6
  • 3
  • 1
  • 0
  • 0
  • about 6 years ago
  • August 7, 2018
License

MIT License

Links
Synced at

Thu, 07 Nov 2024 18:56:06 GMT

Languages