دليل NestJS مع AllStak

أضف تتبّع الأخطاء ومراقبة الطلبات إلى تطبيق NestJS عبر وحدة AllStak.

المستودع المصدر:
AllStak/allstak-nestjs
مسار README:
README.md
إصدار الـ SDK:
0.2.1
مصدر التثبيت:
npm
آخر تحقّق:
2026-05-31

التثبيت

ثبّت الحزمة (peers: @nestjs/common و @nestjs/core و reflect-metadata و rxjs).

npm install @allstak/nestjs

الإعداد

سجّل AllStakModule.forRoot في وحدتك الجذرية. وهي عامة وتسجّل المعترض ومرشّح الاستثناءات تلقائيًا.

import { Module } from '@nestjs/common';
import { AllStakModule } from '@allstak/nestjs';

@Module({
  imports: [
    AllStakModule.forRoot({
      apiKey: process.env.ALLSTAK_API_KEY,
      environment: process.env.NODE_ENV ?? 'production',
      release: process.env.ALLSTAK_RELEASE,
      serviceName: 'api',
      captureRequestHeaders: true,
    }),
  ],
})
export class AppModule {}

مثال أساسي

استخدم forRootAsync لبناء الإعداد من خدمة الإعداد لديك.

AllStakModule.forRootAsync({
  inject: [ConfigService],
  useFactory: (config: ConfigService) => ({ apiKey: config.get('ALLSTAK_API_KEY') }),
});

التقاط الأخطاء

يلتقط مرشّح الاستثناءات العام الأخطاء غير المُعالَجة تلقائيًا. والتقط يدويًا عبر captureException المُصدَّر.

import { captureException } from '@allstak/nestjs';

captureException(new Error('checkout failed'), { level: 'error' });

تتبّع الطلبات

يلتقط AllStakNestInterceptor المُسجَّل تلقائيًا قياسات HTTP الواردة ويفتح span من نوع nestjs.request عند الاستجابة، ويضبط ترويسات traceparent و baggage بمعيار W3C. لا حاجة لربط يدوي.

أفضل الممارسات

  • استخدم forRoot/forRootAsync — لا حاجة لربط معترض أو مرشّح يدويًا.
  • اضبط serviceName و release.
  • فعّل captureRequestHeaders إذا احتجت سياق ترويسات الطلب.