Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/octalmage/gatsby-plugin-sentry
- Owner: octalmage
- License: mit
- Created: 2017-10-22T19:13:52.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-06-21T23:50:40.000Z (over 5 years ago)
- Last Synced: 2024-10-03T12:18:55.650Z (about 1 month ago)
- Language: JavaScript
- Size: 39.1 KB
- Stars: 47
- Watchers: 1
- Forks: 15
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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
returnSomething went wrong!
;
} else {
// when there's not an error, render children untouched
return this.props.children;
}
}
}
```