首頁  >  文章  >  web前端  >  如何在 NestJS 專案中實作 Sentry

如何在 NestJS 專案中實作 Sentry

WBOY
WBOY原創
2024-09-05 06:30:50276瀏覽

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