首页 >web前端 >js教程 >如何在 NestJS 项目中实现 Sentry

如何在 NestJS 项目中实现 Sentry

WBOY
WBOY原创
2024-09-05 06:30:50303浏览

Como Implementar o Sentry em um Projeto NestJS

Sentry 是监控应用程序中的错误和性能的重要工具。除了允许性能跟踪和代码分析之外,它还会自动捕获和报告异常。在本文中,我们将探讨如何在 NestJS 项目中配置和使用 Sentry。

1。安装哨兵

首先,您需要向您的 NestJS 项目添加必要的依赖项。运行以下命令:

npm install @sentry/nestjs @sentry/profiling-node

2。配置哨兵

安装依赖项后,在您的项目中配置 Sentry。创建 Sentry 设置文件,例如sentry.config.ts,并添加以下代码:

import * as Sentry from '@sentry/nestjs';
import { nodeProfilingIntegration } from '@sentry/profiling-node';

Sentry.init({
  dsn: process.env.SENTRY_DSN,  // Adicione sua DSN do Sentry aqui
  integrations: [nodeProfilingIntegration()],
  tracesSampleRate: 1.0,  // Captura 100% das transações para monitoramento de performance
  profilesSampleRate: 1.0,  // Define a taxa de amostragem para profiling de código
});

*3。将 Sentry 集成到应用程序启动中
*

现在,您需要将 Sentry 集成到您的应用程序启动中。在主启动文件(main.ts)中,配置Sentry以捕获并报告异常,如下所示:

import '../src/config/sentry';  // Importa a configuração do Sentry
import {
  BaseExceptionFilter,
  HttpAdapterHost,
  NestFactory,
} from '@nestjs/core';
import { AppModule } from './app.module';
import * as Sentry from '@sentry/nestjs';

async function bootstrap() {
  const app = await NestFactory.create(AppModule, { rawBody: true });

  // Configurando o Sentry para capturar e relatar exceções
  const { httpAdapter } = app.get(HttpAdapterHost);
  Sentry.setupNestErrorHandler(app, new BaseExceptionFilter(httpAdapter));

  await app.listen(3000);
}
bootstrap();

结论

通过这些设置,Sentry 现在已集成到您的 NestJS 项目中,用于监视错误、异常和应用程序性能。这对于快速识别和解决问题、确保更稳定和可预测的用户体验至关重要。

请记住根据环境和应用程序重要性调整采样率,以避免不必要的开销。

以上是如何在 NestJS 项目中实现 Sentry的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn