Maison  >  Article  >  interface Web  >  Comment implémenter Sentry dans un projet NestJS

Comment implémenter Sentry dans un projet NestJS

WBOY
WBOYoriginal
2024-09-05 06:30:50277parcourir

Como Implementar o Sentry em um Projeto NestJS

Sentry est un outil essentiel pour surveiller les erreurs et les performances des applications. Il capture et signale automatiquement les exceptions, en plus de permettre le suivi des performances et le profilage du code. Dans cet article, nous explorerons comment configurer et utiliser Sentry dans un projet NestJS.

1. Installation de Sentry

Tout d'abord, vous devez ajouter les dépendances nécessaires à votre projet NestJS. Exécutez la commande suivante :

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

2. Configuration de Sentry

Après avoir installé les dépendances, configurez Sentry dans votre projet. Créez un fichier pour les paramètres Sentry, par exemple, sentry.config.ts, et ajoutez le code suivant :

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. Intégration de Sentry dans le lancement d'applications
*

Maintenant, vous devez intégrer Sentry au démarrage de votre application. Dans le fichier de démarrage principal (main.ts), configurez Sentry pour détecter et signaler les exceptions comme indiqué ci-dessous :

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();

Conclusion

Avec ces paramètres, Sentry est désormais intégré à votre projet NestJS, surveillant les erreurs, les exceptions et les performances des applications. Cela peut être crucial pour identifier et résoudre rapidement les problèmes, garantissant ainsi une expérience utilisateur plus stable et prévisible.

N'oubliez pas d'ajuster les taux d'échantillonnage en fonction de l'environnement et de la criticité de l'application pour éviter une surcharge inutile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn