@hug/ngx-sentry
v4.0.0@hug/ngx-sentry
Angular wrapper for the official Sentry JavaScript SDK
Getting started
To set up or update an Angular project with this library use the Angular CLI's schematic commands:
Installation
ng add @hug/ngx-sentry
More details
The
ng add
command will ask you the following questions:
- Name of the project in Sentry: the name used when creating the Sentry project
- Data Source Name (DSN) url: the url provided during the Sentry project creation process
And will also perform the following actions:
- Create a
.sentryclirc
file containing all the Sentry configurations- Initialize and configure Sentry in
main.ts
- Add
resolveJsonModule
andallowSyntheticDefaultImports
totsconfig.json
- Import the
NgxSentryModule
in your Angular application module (if app is not standalone)
Update
ng update @hug/ngx-sentry
Usage
Follow these steps to integrate your project's source maps with Sentry:
Generate Source Maps
ng build --source-map
Provide Source Maps to Sentry
npx ngx-sentry ./project-dist-path
Options
This library is a wrapper around the official Sentry JavaScript SDK with extra functionalities and configurations.
All options available in @sentry/browser
can be configured from @hug/ngx-sentry
.
You shouldn't have to configure anything else but in case you wanted to, you can still do it.
Sentry Browser's SDK
The Sentry Browser's SDK can be configured in main.ts
:
initSentry(options: BrowserOptions);
Error handler
The behavior of the error handler can be configured either in:
main.ts
(if the app is a standalone Angular application)bootstrapApplication(AppComponent, { providers: [ provideSentry(options?: ErrorHandlerOptions) ] });
app.module.ts
(if the app is not a standalone Angular application)@NgModule({ imports: [ NgxSentryModule.forRoot(options?: ErrorHandlerOptions) ] }) export class AppModule { }
Current user
You can define the current user via the setSentryUser()
api:
// import { setSentryUser } from '@hug/ngx-sentry/standalone';
// import { setSentryUser } from '@hug/ngx-sentry';
public ngOnInit(): void {
// Set the current user
setSentryUser({
email: '[email protected]',
username: 'rtrm',
attr1: 'attr1'
});
// Remove the current user
setSentryUser(null);
}
Development
See the developer docs.
Contributing
> Want to Help?
Want to file a bug, contribute some code or improve documentation? Excellent!
But please read up first on the guidelines for contributing, and learn about submission process, coding rules and more.
> Code of Conduct
Please read and follow the Code of Conduct, and help us keep this project open and inclusive.
Credits
Copyright (C) 2021 HUG - Hôpitaux Universitaires Genève
Metadata
- GPL-3.0-only
- >= 14.14.0
- HUG - Hôpitaux Universitaires Genève
- released 8/11/2023