Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/reg2005/adonis5-sentry

Sentry for Adonis 5
https://github.com/reg2005/adonis5-sentry

Last synced: about 1 month ago
JSON representation

Sentry for Adonis 5

Awesome Lists containing this project

README

        

# Adonis5-Sentry
> Sentry, Sentry SDK for Node JS , AdonisJS, Sentry for Adonis

[![typescript-image]][typescript-url] [![npm-image]][npm-url] [![license-image]][license-url]

Sentry service provider for Adonis-5

## Table of contents

- [Installation](#installation)
- [Sample Usage](#sample-usage)

# Installation
```bash
npm i --save adonis5-sentry
```
Compile your code:
```bash
node ace serve --watch
```
Connect all dependences:
```bash
node ace invoke adonis5-sentry
```
* For other configuration, please update the `config/sentry.ts`.

# Sample Usage
After loading all providers Sentry service will be initialized. After this you can import Sentry service anywhere in your application in such way:
```js
import Sentry from '@ioc:Adonis/Addons/Sentry'
```
* Then you have to send your error details to Sentry. You can use Adonis Exception Handler for this purposes. For example you can implement such Exception Handler:
```js
import Sentry from '@ioc:Adonis/Addons/Sentry'
import Logger from '@ioc:Adonis/Core/Logger'
import HttpExceptionHandler from '@ioc:Adonis/Core/HttpExceptionHandler'

export default class ExceptionHandler extends HttpExceptionHandler {
constructor () {
super(Logger)
}

public async handle (error, ctx) {
Sentry.captureException(error)
return super.handle(error, ctx)
}
}
```

For additional details of Sentry API, please check the Sentry SDK documentation by this link [Sentry docs](https://docs.sentry.io/platforms/node/?platform=node)

[typescript-image]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
[typescript-url]: "typescript"

[npm-image]: https://img.shields.io/npm/v/adonis5-sentry.svg?style=for-the-badge&logo=npm
[npm-url]: https://npmjs.org/package/adonis5-sentry "npm"

[license-image]: https://img.shields.io/npm/l/adonis5-sentry?color=blueviolet&style=for-the-badge
[license-url]: LICENSE.md "license"