1
+ // Import this first from sentry instrument!
2
+ import '@utils/instrumentSentry' ;
3
+
4
+ // Now import other modules
1
5
import { ProviderFiles } from '@api/provider/sessions' ;
2
6
import { PrismaRepository } from '@api/repository/repository.service' ;
3
7
import { HttpStatus , router } from '@api/routes/index.router' ;
@@ -21,19 +25,6 @@ function initWA() {
21
25
async function bootstrap ( ) {
22
26
const logger = new Logger ( 'SERVER' ) ;
23
27
const app = express ( ) ;
24
- const dsn = process . env . SENTRY_DSN ;
25
-
26
- if ( dsn ) {
27
- logger . info ( 'Sentry - ON' ) ;
28
- Sentry . init ( {
29
- dsn : dsn ,
30
- environment : process . env . NODE_ENV || 'development' ,
31
- tracesSampleRate : 1.0 ,
32
- profilesSampleRate : 1.0 ,
33
- } ) ;
34
-
35
- Sentry . setupExpressErrorHandler ( app ) ;
36
- }
37
28
38
29
let providerFiles : ProviderFiles = null ;
39
30
if ( configService . get < ProviderSession > ( 'PROVIDER' ) . ENABLED ) {
@@ -141,6 +132,14 @@ async function bootstrap() {
141
132
142
133
eventManager . init ( server ) ;
143
134
135
+ if ( process . env . SENTRY_DSN ) {
136
+ logger . info ( 'Sentry - ON' ) ;
137
+
138
+ // Add this after all routes,
139
+ // but before any and other error-handling middlewares are defined
140
+ Sentry . setupExpressErrorHandler ( app ) ;
141
+ }
142
+
144
143
server . listen ( httpServer . PORT , ( ) => logger . log ( httpServer . TYPE . toUpperCase ( ) + ' - ON: ' + httpServer . PORT ) ) ;
145
144
146
145
initWA ( ) ;
0 commit comments