42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
import { getClient } from '@sentry/core';
|
|
import { consoleSandbox, logger } from '@sentry/utils';
|
|
import { DEBUG_BUILD } from '../../debug-build.js';
|
|
|
|
const DEFAULT_SHUTDOWN_TIMEOUT = 2000;
|
|
|
|
/**
|
|
* @hidden
|
|
*/
|
|
function logAndExitProcess(error) {
|
|
consoleSandbox(() => {
|
|
// eslint-disable-next-line no-console
|
|
console.error(error);
|
|
});
|
|
|
|
const client = getClient();
|
|
|
|
if (client === undefined) {
|
|
DEBUG_BUILD && logger.warn('No NodeClient was defined, we are exiting the process now.');
|
|
global.process.exit(1);
|
|
}
|
|
|
|
const options = client.getOptions();
|
|
const timeout =
|
|
(options && options.shutdownTimeout && options.shutdownTimeout > 0 && options.shutdownTimeout) ||
|
|
DEFAULT_SHUTDOWN_TIMEOUT;
|
|
client.close(timeout).then(
|
|
(result) => {
|
|
if (!result) {
|
|
DEBUG_BUILD && logger.warn('We reached the timeout for emptying the request buffer, still exiting now!');
|
|
}
|
|
global.process.exit(1);
|
|
},
|
|
error => {
|
|
DEBUG_BUILD && logger.error(error);
|
|
},
|
|
);
|
|
}
|
|
|
|
export { logAndExitProcess };
|
|
//# sourceMappingURL=errorhandling.js.map
|