/rollcage

A Clojure client for Rollbar

Primary LanguageClojureEclipse Public License 1.0EPL-1.0

Rollcage Circle CI codecov.io

A Clojure client for Rollbar

Usage

Rollcage is available on Clojars. Add the following to your project.clj:

[circleci/rollcage "1.0.148"]

You can send exceptions like this:

user=> (require '[circleci.rollcage.core :as rollcage])

user=> (def r (rollcage/client "access-token" {:environment "staging"}))

user=> (try
  #_=>   (/ 0)
  #_=>   (catch Exception e
  #_=>     (rollcage/error r e)))
{:err 0, :result {:id nil, :uuid "1cb0c8bf-3942-4553-a5c4-8adc5d55ed8f"}}

You can also setup handler for all UncaughtExceptions. Call this fn during start-up procedure to ensure all uncaught exceptions will be sent to Rollbar.

user=> (rollcage/setup-uncaught-exception-handler r)

See the full API docs for more information.

Testing

A full CI suite is run on CircleCI. You can run the unit-test suite locally by running lein test. Some tests require access to Rollbar, with a valid access token that has permission to post server items. The token should be specified in the ROLLBAR_ACCESS_TOKEN environment variable.

$ ROLLBAR_ACCESS_TOKEN=<your token> lein test

The tests that require access to Rollbar are annotated with the :integration metadata tag. You can exclude these by using the :unit test selector.

$ lein test :unit

Releasing

Releases are published to Clojars under the CircleCI organisation. You can publish new SNAPSHOT version of Rollcage using leiningen:

$ lein deploy clojars

You can release a new version of Rollcage by editing the version string in project.clj according to semver and removing the -SNAPSHOT qualifier. Then run

$ lein deploy clojars

License

Distributed under the Eclipse Public License.