Skip to content

Error handler integration for Sentry (both hosted and on-premise)

License

Notifications You must be signed in to change notification settings

emperror/handler-sentry

Repository files navigation

Sentry handler

GitHub Workflow Status Codecov Go Report Card Go Version go.dev reference

Error handler integration for Sentry.

Installation

go get emperror.dev/handler/sentry

Usage

package main

import (
	"emperror.dev/handler/sentry"
)

func main() {
	dsn := "https://user:password@sentry.io/1234"

	handler, err := sentry.New(dsn)
	if err != nil {
		panic(err)
	}
	defer handler.Close() // Make sure to close the handler to flush all error reporting in progress
}

Development

When all coding and testing is done, please run the test suite:

$ make check

Running integration tests

In order to run integration tests, a local development environment must be configured. Unfortunately it's a little bit more complicated than a "fire and forget" command, but most of it can be done in the CLI.

The first part is as easy as executing a series of commands:

cp docker-compose.override.yml.dist docker-compose.override.yml
cp .env.test.dist .env.test
docker-compose up -d
docker-compose run --rm sentry upgrade --noinput
docker-compose run --rm sentry createuser --email admin@example.com --password admin --superuser --no-input

Go to the Sentry dashboard:

open http://localhost:32622

Login with admin@example.com and admin credentials.

Complete the setup wizard and add a new test Go project.

Run the test suite:

source .env.test
make test

Cleanup the environment:

docker-compose down

License

The MIT License (MIT). Please see License File for more information.

About

Error handler integration for Sentry (both hosted and on-premise)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages