* feat: wip add user to sentry * feat: wip interceptor * feat: wip add user to sentry * feat: add user into sentry errors * fix: hide stack trace in production * fix: properly log commands and handle exceptions * fix: filter command exceptions * feat: handle jobs errors
36 lines
995 B
TypeScript
36 lines
995 B
TypeScript
import { CommandFactory } from 'nest-commander';
|
|
|
|
import { CommandModule } from './command.module';
|
|
|
|
import { LoggerService } from './integrations/logger/logger.service';
|
|
import { ExceptionHandlerService } from './integrations/exception-handler/exception-handler.service';
|
|
import { filterException } from './filters/utils/global-exception-handler.util';
|
|
|
|
async function bootstrap() {
|
|
const errorHandler = (err: Error) => {
|
|
loggerService.error(err?.message, err?.name);
|
|
|
|
if (filterException(err)) {
|
|
return;
|
|
}
|
|
|
|
exceptionHandlerService.captureExceptions([err]);
|
|
};
|
|
|
|
const app = await CommandFactory.createWithoutRunning(CommandModule, {
|
|
bufferLogs: true,
|
|
errorHandler,
|
|
serviceErrorHandler: errorHandler,
|
|
});
|
|
const loggerService = app.get(LoggerService);
|
|
const exceptionHandlerService = app.get(ExceptionHandlerService);
|
|
|
|
// Inject our logger
|
|
app.useLogger(loggerService);
|
|
|
|
await CommandFactory.runApplication(app);
|
|
|
|
app.close();
|
|
}
|
|
bootstrap();
|