Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

LoggingInterceptor și Măsurarea Performanței în NestJS

pipeline NestJS 10.x / RxJS Q&A / Distribuie cod

Măsurarea timpului de execuție al fiecărei cereri HTTP și jurnalizarea rezultatului folosind operatorii RxJS tap() și catchError().

Sintaxă
intercept(context: ExecutionContext, next: CallHandler): Observable<any>

Interceptors în NestJS sunt inspirați din programarea orientată pe aspecte (AOP). Aceștia pot interveni atât înainte de apelarea funcției din controller, cât și după ce aceasta returnează un rezultat, folosind fluxuri reactive RxJS.

Un LoggingInterceptor măsoară exact câte milisecunde durează procesarea cererii și tipărește în consolă metoda, calea și statusul final.

Exemplu: Interceptor complet de logging și durată de răspuns
import { Injectable, NestInterceptor, ExecutionContext, CallHandler, Logger } from '@nestjs/common';
import { Observable } from 'rxjs';
import { tap } from 'rxjs/operators';

@Injectable()
export class LoggingInterceptor implements NestInterceptor {
  private readonly logger = new Logger('HTTP');

  intercept(context: ExecutionContext, next: CallHandler): Observable {
    const req = context.switchToHttp().getRequest();
    const { method, url } = req;
    const now = Date.now();

    return next.handle().pipe(
      tap(() => {
        const delay = Date.now() - now;
        this.logger.log(`${method} ${url} finalizat în +${delay}ms`);
      }),
    );
  }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: LoggingInterceptor și Măsurarea Performanței

Ai o nelămurire despre utilizarea comenzii LoggingInterceptor și Măsurarea Performanței sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.