bugsnag

Version, currently master branch1 version
  • master branchlatestOct 16, 2018

github.com/fridgerator/bugsnag

Report exceptions in production from crystal http servers to Bugsnag.

6 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  bugsnag:
    github: fridgerator/bugsnag
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
0.25.1
License
MIT
Author
Nick Franken

Dependencies

This version declares no dependencies.

README

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