Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/octalmage/gatsby-plugin-sentry

Gatsby plugin to add Sentry error tracking to your site.
https://github.com/octalmage/gatsby-plugin-sentry

Last synced: 15 days ago
JSON representation

Gatsby plugin to add Sentry error tracking to your site.

Awesome Lists containing this project

README

        

# gatsby-plugin-sentry

Gatsby plugin to add Sentry error tracking to your site.

Learn more about Sentry [here](https://sentry.io).

## Install

`npm install --save gatsby-plugin-sentry`

## How to use

```javascript
// In your gatsby-config.js
plugins: [
{
resolve: "gatsby-plugin-sentry",
options: {
dsn: "YOUR_SENTRY_DSN_URL",
// Optional settings, see https://docs.sentry.io/clients/node/config/#optional-settings
environment: process.env.NODE_ENV,
enabled: (() => ["production", "stage"].indexOf(process.env.NODE_ENV) !== -1)()
}
}
];
```

Now `Sentry` is available in global window object. so you can use it in `react 16` like:

```javascript
export default class ErrorBoundary extends React.Component {

constructor(props) {
super(props);
this.state = { error: null };
}

componentDidCatch(error, errorInfo) {
this.setState({ error });
Sentry.configureScope((scope) => {
Object.keys(errorInfo).forEach(key => {
scope.setExtra(key, errorInfo[key]);
});
});
Sentry.captureException(error);
}

render() {
if (this.state.error) {
// render fallback UI
return

Something went wrong!

;
} else {
// when there's not an error, render children untouched
return this.props.children;
}
}
}
```