Liking cljdoc? Tell your friends :D

sentry-clj.core

A thin wrapper around the official Java library for Sentry.

A thin wrapper around the official Java library for Sentry.
raw docstring

close!clj

(close!)

Closes the SDK

Closes the SDK
sourceraw docstring

init!clj

(init! dsn)
(init! dsn {:keys [contexts] :as config})

Initialize Sentry with the mandatory dsn

Other options include:

keydescriptiondefault
:environmentSet the environment on which Sentry events will be logged, e.g., "production"production
:debugEnable SDK logging at the debug levelfalse
:releaseAll events are assigned to a particular release
:distSet the application distribution that will be sent with each event
:server-nameSet the server name that will be sent with each event
:shutdown-timeoutWait up to X milliseconds before shutdown if there are events to send2000ms
:in-app-includesA seqable collection (vector for example) containing package names to include when sending events
:in-app-excludesA seqable collection (vector for example) containing package names to ignore when sending events
`:ignored-exceptions-for-typeSet exceptions that will be filtered out before sending to Sentry (a set of Classnames as Strings)
:enable-uncaught-exception-handler(deprecated, use :uncaught-handler-enabled instead) Enables the uncaught exception handlertrue
:uncaught-handler-enabledEnables the uncaught exception handlertrue
:before-send-fnA 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-fnA 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
:contextsA map of key/value pairs to attach to every Event that is sent.
[More Information)(https://docs.sentry.io/platforms/java/enriching-events/context/)

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
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -------
| `:environment`                       | Set the environment on which Sentry events will be logged, e.g., "production"                                    | production
| `:debug`                             | Enable SDK logging at the debug level                                                                              | false
| `: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`                  | 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` | (deprecated, use :uncaught-handler-enabled instead) Enables the uncaught exception handler                         | true
| `:uncaught-handler-enabled`          | 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/)                                |

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"}})
```
sourceraw docstring

send-eventclj

(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"})
```
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close