@ruanitto/adonis5-sentry
Version:
Sentry provider for AdonisJS 5
65 lines (50 loc) • 2.18 kB
Markdown
# 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
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
## Table of contents
- [Installation](#installation)
- [Sample Usage](#sample-usage)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
# 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"