@tramvai/module-micro-sentry v4.41.79
Micro-sentry
Integration with micro-sentry.
Installation
You need to install @tramvai/module-micro-sentry
:
yarn add @tramvai/module-micro-sentry
And connect to the project: TramvaiMicroSentryModule
:
import { TramvaiMicroSentryModule } from '@tramvai/module-micro-sentry';
createApp({
modules: [TramvaiMicroSentryModule],
});
And make sure to add SENTRY_DSN
environment on deployed stands. Otherwise module will not work.
Explanation
Working with unhandled rejections and global errors
Micro-sentry itself does not have the proper logic to intercept global unhandlerejection and error events. In this case, @tramvai/module-micro-sentry
adds an inline script with custom logic for the unhandledrejection
and error
events. Before the micro-sentry package is initialized, all errors are added to an errorQueue, and when micro-sentry is initialized, this queue is cleared, and all caught errors are sent to the SENTRY_DSN
URL. To create your custom global error handler, you can use the MICRO_SENTRY_INLINE_ERROR_INTERCEPTOR_TOKEN
. For example:
// createErrorInterceptor.inline.ts
export function createErrorInterceptor() {
window.onerror = function () {
// your custom logic
};
window.onunhandledrejection = function () {
// your custom logic
};
}
import { createApp } from '@tramvai/core';
import { TramvaiMicroSentryModule } from '@tramvai/module-micro-sentry';
import { createErrorInterceptor } from './createErrorInterceptor.inline';
createApp({
name: 'sample-application',
modules: [
TramvaiMicroSentryModule,
provide({
provide: MICRO_SENTRY_INLINE_ERROR_INTERCEPTOR_TOKEN,
useFactory: ({ microSentryInlineErrorInterceptorKey }) => {
return `(${createErrorInterceptor})()`;
},
}),
],
});
Environment variables
Required:
SENTRY_DSN
- DSN of the app
How to
Send custom error
import { declareAction } from '@tramvai/core';
import { SENTRY_TOKEN } from '@tramvai/module-micro-sentry';
import { loadUsers } from './users';
export default declareAction({
name: 'loadUsers',
async fn() {
try {
await loadUsers();
} catch (e) {
microSentryClient.report(e);
throw e;
}
},
deps: {
microSentryClient: MICRO_SENTRY_INSTANCE_TOKEN,
},
});
Environment variables
SENTRY_RELEASE
- application release version. The value is inserted into therelease
field for all errorsSENTRY_ENVIRONMENT
- the application environment where the error occurred. If the variable is not specified, thenprocess.env.NODE_ENV
is used
Exported tokens
MICRO_SENTRY_INSTANCE_TOKEN
Ready to use instance of micro-sentry
MICRO_SENTRY_OPTIONS_TOKEN
Configuration options for micro-sentry
MICRO_SENTRY_INLINE_ERROR_INTERCEPTOR_KEY_TOKEN
Key value for ErrorInterceptor script. This key will be used to save custom logiс to window object.
MICRO_SENTRY_INLINE_ERROR_INTERCEPTOR_TOKEN
Script for inline error interceptor
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
9 months ago
9 months ago
9 months ago
10 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
10 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
1 year ago
12 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
11 months ago
11 months ago
1 year ago
1 year ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
11 months ago
12 months ago
12 months ago
12 months ago
11 months ago
12 months ago
12 months ago
11 months ago
12 months ago
1 year ago
1 year ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
12 months ago
12 months ago
12 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago