A thin wrapper around the official Java library for Sentry.
A thin wrapper around the official Java library for Sentry.
(init! dsn)
(init! dsn {:keys [contexts] :as config})
Initialize Sentry with the mandatory dsn
Other options include:
key | description | default |
---|---|---|
:enable-external-configuration | Enable loading configuration from the properties file, system properties or environment variables | |
:environment | Set the environment on which Sentry events will be logged, e.g., "production" | production |
:enabled | Enable or disable sentry. | true |
:debug | Enable SDK logging at the debug level | false |
:logger | Instance of io.sentry.ILogger (only applies when :debug is on) | io.sentry.SystemOutLogger |
:diagnostic-level | Log messages at or above this level (only applies when :debug is on) | :debug |
:release | All events are assigned to a particular release | |
:dist | Set the application distribution that will be sent with each event | |
:server-name | Set the server name that will be sent with each event | |
:shutdown-timeout-millis | Wait up to X milliseconds before shutdown if there are events to send | 2000ms |
:in-app-includes | A seqable collection (vector for example) containing package names to include when sending events | |
:in-app-excludes | A seqable collection (vector for example) containing package names to ignore when sending events | |
`:ignored-exceptions-for-type | Set exceptions that will be filtered out before sending to Sentry (a set of Classnames as Strings) | |
:enable-uncaught-exception-handler | Enables the uncaught exception handler | true |
:before-send-fn | A function (taking an event and a hint) | |
The body of the function must not be lazy (i.e., don't use filter on its own!) and must return an event or nil | ||
If a nil is returned, the event will not be sent to Sentry | ||
More Information | ||
:before-breadcrumb-fn | A function (taking a breadcrumb and a hint) | |
The body of the function must not be lazy (i.e., don't use filter on its own!) and must return a breadcrumb or nil | ||
If a nil is returned, the breadcrumb will not be sent to Sentry | ||
More Information | ||
:contexts | A map of key/value pairs to attach to every Event that is sent. | |
[More Information)(https://docs.sentry.io/platforms/java/enriching-events/context/) | ||
:traces-sample-rate | Set a uniform sample rate(a number of between 0.0 and 1.0) for all transactions for tracing | |
:traces-sample-fn | A function (taking a custom sample context and a transaction context) enables you to control trace transactions | |
:serialization-max-depth | Set to a lower number, i.e., 2, if you experience circular reference errors when sending events | 5 |
:trace-options-request | Set to enable or disable tracing of options requests | true |
Some examples:
(init! "http://abcdefg@localhost:19000/2")
(init! "http://abcdefg@localhost:19000/2" {:environment "production" :debug true :release "foo.bar@1.0.0" :in-app-excludes ["foo.bar"])
(init! "http://abcdefg@localhost:19000/2" {:before-send-fn (fn [event _] (when-not (= (.. event getMessage getMessage "foo")) event))})
(init! "http://abcdefg@localhost:19000/2" {:before-send-fn (fn [event _] (.setServerName event "fred") event)})
(init! "http://abcdefg@localhost:19000/2" {:contexts {:foo "bar" :baz "wibble"}})
Initialize Sentry with the mandatory `dsn` Other options include: | key | description | default | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------- | `:enable-external-configuration` | Enable loading configuration from the properties file, system properties or environment variables | | `:environment` | Set the environment on which Sentry events will be logged, e.g., "production" | production | `:enabled` | Enable or disable sentry. | true | `:debug` | Enable SDK logging at the debug level | false | `:logger` | Instance of `io.sentry.ILogger` (only applies when `:debug` is on) | `io.sentry.SystemOutLogger` | `:diagnostic-level` | Log messages at or above this level (only applies when `:debug` is on) | `:debug` | `:release` | All events are assigned to a particular release | | `:dist` | Set the application distribution that will be sent with each event | | `:server-name` | Set the server name that will be sent with each event | | `:shutdown-timeout-millis` | Wait up to X milliseconds before shutdown if there are events to send | 2000ms | `:in-app-includes` | A seqable collection (vector for example) containing package names to include when sending events | | `:in-app-excludes` | A seqable collection (vector for example) containing package names to ignore when sending events | | `:ignored-exceptions-for-type | Set exceptions that will be filtered out before sending to Sentry (a set of Classnames as Strings) | | `:enable-uncaught-exception-handler` | Enables the uncaught exception handler | true | `:before-send-fn` | A function (taking an event and a hint) | | | The body of the function must not be lazy (i.e., don't use filter on its own!) and must return an event or nil | | | If a nil is returned, the event will not be sent to Sentry | | | [More Information](https://docs.sentry.io/platforms/java/data-management/sensitive-data/) | | `:before-breadcrumb-fn` | A function (taking a breadcrumb and a hint) | | | The body of the function must not be lazy (i.e., don't use filter on its own!) and must return a breadcrumb or nil | | | If a nil is returned, the breadcrumb will not be sent to Sentry | | | [More Information](https://docs.sentry.io/platforms/java/enriching-events/breadcrumbs/) | | `:contexts` | A map of key/value pairs to attach to every Event that is sent. | | | [More Information)(https://docs.sentry.io/platforms/java/enriching-events/context/) | | `:traces-sample-rate` | Set a uniform sample rate(a number of between 0.0 and 1.0) for all transactions for tracing | | `:traces-sample-fn` | A function (taking a custom sample context and a transaction context) enables you to control trace transactions | | `:serialization-max-depth` | Set to a lower number, i.e., 2, if you experience circular reference errors when sending events | 5 | `:trace-options-request` | Set to enable or disable tracing of options requests | true Some examples: ```clojure (init! "http://abcdefg@localhost:19000/2") ``` ```clojure (init! "http://abcdefg@localhost:19000/2" {:environment "production" :debug true :release "foo.bar@1.0.0" :in-app-excludes ["foo.bar"]) ``` ```clojure (init! "http://abcdefg@localhost:19000/2" {:before-send-fn (fn [event _] (when-not (= (.. event getMessage getMessage "foo")) event))}) ``` ```clojure (init! "http://abcdefg@localhost:19000/2" {:before-send-fn (fn [event _] (.setServerName event "fred") event)}) ``` ```clojure (init! "http://abcdefg@localhost:19000/2" {:contexts {:foo "bar" :baz "wibble"}}) ```
(java-util-hashmappify-vals m)
Converts an ordinary Clojure map into a Clojure map with nested map values recursively translated into java.util.HashMap objects. Based on walk/stringify-keys.
Converts an ordinary Clojure map into a Clojure map with nested map values recursively translated into java.util.HashMap objects. Based on walk/stringify-keys.
(send-event event)
Sends the given event to Sentry, returning the event's id
Supports sending throwables:
(sentry/send-event {:message "oh no",
:throwable (RuntimeException. "foo bar"})
Sends the given event to Sentry, returning the event's id Supports sending throwables: ``` (sentry/send-event {:message "oh no", :throwable (RuntimeException. "foo bar"}) ```
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close