A fully fledged Bugsnag exception reporting client for Clojure.
Originally forked from MicrosoftArchive
A deployed copy of the most recent version of clj-bugsnag can be found on clojars. To use it, add the following as a dependency in your project.clj or deps.edn file:
The next time you build your application, Leiningen or tools.deps should pull it automatically. Alternatively, you may clone or fork the repository to work with it directly.
(require '[clj-bugsnag.core :as bugsnag]
'[clj-bugsnag.ring :as bugsnag.ring])
;; Ring middleware, all keys besides :api-key are optional:
(bugsnag.ring/wrap-bugsnag
handler
{:api-key "Project API key"
;; Defaults to "production"
:environment "production"
;; Project namespace prefix, used to hide irrelevant stack trace elements
:project-ns "your-project-ns-prefix"
;; A optional version for your app, this is displayed in bugsnag.
;; If not provided the latest git sha will be used - this means that
;; the git repo is available when you run your app.
:version "your-app-version"
;; A optional function to extract a user object from a ring request map
;; Used to count how many users are affected by a crash
:user-from-request (constantly {:id "shall return a map"})})
;; Manual reporting using the notify function:
(try
(some-function-that-could-crash some-input)
(catch Exception exception
;; Notify with options map, all keys are optional:
(bugsnag/notify
exception
{:api-key "Project API key"
;; Attach custom metadata to create tabs in Bugsnag:
:meta {:input some-input}
;; Pass a user object to Bugsnag for better stats
:user {:id ... :email ...}})
;; If no api-key is provided, clj-bugsnag
;; will fall back to BUGSNAG_KEY environment variable
(bugsnag/notify exception)))
Distributed under the Eclipse Public License, the same as Clojure and the predecessor of this fork.
Can you improve this documentation? These fine people already did:
Torsten Becker, nnichols, Andrei Ursan & Ben ScofieldEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close