@@ -9,6 +9,14 @@ import { createHash } from 'node:crypto';
9
9
import type { InstanceType } from './InstanceSettings' ;
10
10
import { Logger } from './logging/logger' ;
11
11
12
+ type ErrorReporterInitOptions = {
13
+ serverType : InstanceType | 'task_runner' ;
14
+ dsn : string ;
15
+ release : string ;
16
+ environment : string ;
17
+ serverName : string ;
18
+ } ;
19
+
12
20
@Service ( )
13
21
export class ErrorReporter {
14
22
/** Hashes of error stack traces, to deduplicate error reports. */
@@ -44,7 +52,7 @@ export class ErrorReporter {
44
52
await close ( timeoutInMs ) ;
45
53
}
46
54
47
- async init ( instanceType : InstanceType | 'task_runner' , dsn : string ) {
55
+ async init ( { dsn , serverType , release , environment , serverName } : ErrorReporterInitOptions ) {
48
56
process . on ( 'uncaughtException' , ( error ) => {
49
57
this . error ( error ) ;
50
58
} ) ;
@@ -54,12 +62,6 @@ export class ErrorReporter {
54
62
// Collect longer stacktraces
55
63
Error . stackTraceLimit = 50 ;
56
64
57
- const {
58
- N8N_VERSION : release ,
59
- ENVIRONMENT : environment ,
60
- DEPLOYMENT_NAME : serverName ,
61
- } = process . env ;
62
-
63
65
const { init, captureException, setTag } = await import ( '@sentry/node' ) ;
64
66
const { requestDataIntegration, rewriteFramesIntegration } = await import ( '@sentry/node' ) ;
65
67
@@ -95,7 +97,7 @@ export class ErrorReporter {
95
97
] ,
96
98
} ) ;
97
99
98
- setTag ( 'server_type' , instanceType ) ;
100
+ setTag ( 'server_type' , serverType ) ;
99
101
100
102
this . report = ( error , options ) => captureException ( error , options ) ;
101
103
}
0 commit comments