Skip to content
Sentry client for Common Lisp
Common Lisp
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
.gitignore
LICENSE
README.md
async.lisp
hunchentoot.lisp
package.lisp
sentry-client.asd
sentry-client.async.asd
sentry-client.hunchentoot.asd
sentry-client.lisp

README.md

CL-SENTRY-CLIENT

Sentry client for Common Lisp

WIP

Basic usage

(sentry-client:initialize-sentry-client <sentry-dsn>)
(sentry-client:with-sentry-error-handler () (error "test"))

Or in your own error handler:

(handler-case (my-code-with-error)
   (error (e)
      (sentry-client:capture-exception e)
      ...)))

Hunchentoot handler

(defmethod hunchentoot:maybe-invoke-debugger :after (condition)
    (when hunchentoot:*catch-errors-p*
        ;; There's an error in trivial-backtrace:map-backtrace in SBCL 
        ;; if we don't set sb-debug:*stack-top-hint* to NIL
        (let ((sb-debug:*stack-top-hint* nil)) 
           (sentry-client:capture-exception condition))))

Just add sentry-client.hunchentoot as ASDF dependency to include the Hunchentoot handler.

Async client version

The async version of the client uses simple-tasks library for sending HTTP requests in the background

(ql:quickload :sentry-client.async)

(sentry-client:initialize-sentry-client <dsn> :client-class 'sentry-client:async-sentry-client)
(sentry-client:test-sentry-client)

Screenshots

alt text alt text

License

MIT

You can’t perform that action at this time.