دليل 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 إذا احتجت سياق ترويسات الطلب.