Giter Site home page Giter Site logo

dsi-hug / ngx-sentry Goto Github PK

View Code? Open in Web Editor NEW
1.0 8.0 0.0 3.04 MB

📊 Angular wrapper for Sentry JavaScript SDK

License: GNU General Public License v3.0

JavaScript 40.32% TypeScript 59.68%
angular sentry sentry-client ngx-sentry monitor monitoring crash-reporting error-monitoring crash-reports csp-report

ngx-sentry's Introduction

@hug/ngx-sentry


hug-logo

Angular wrapper for the official Sentry JavaScript SDK

npm version npm donwloads license GPLv3

build status PRs welcome


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:

  1. Name of the project in Sentry: the name used when creating the Sentry project
  2. 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 and allowSyntheticDefaultImports to tsconfig.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:

  1. Generate Source Maps

    ng build --source-map
  2. 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

love@hug

ngx-sentry's People

Contributors

badisi avatar hug-az-pipeline avatar rtrompier avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ngx-sentry's Issues

Environment name

Use the correct environment name in app.module.ts.

Check if property "name" is existing in env files, else add a comment to ask to developer to specify it manually.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.