>웹 프론트엔드 >JS 튜토리얼 >NestJS 프로젝트에서 Sentry를 구현하는 방법

NestJS 프로젝트에서 Sentry를 구현하는 방법

WBOY
WBOY원래의
2024-09-05 06:30:50298검색

Como Implementar o Sentry em um Projeto NestJS

Sentry는 애플리케이션의 오류 및 성능을 모니터링하는 데 필수적인 도구입니다. 성능 추적 및 코드 프로파일링을 허용하는 것 외에도 예외를 자동으로 캡처하고 보고합니다. 이 글에서는 NestJS 프로젝트에서 Sentry를 구성하고 사용하는 방법을 살펴보겠습니다.

1. Sentry 설치

먼저 NestJS 프로젝트에 필요한 종속성을 추가해야 합니다. 다음 명령을 실행하세요:

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

2. Sentry 구성

종속성을 설치한 후 프로젝트에서 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으로 문의하세요.