initial commit

This commit is contained in:
2026-06-09 14:07:37 +03:30
parent 30ac533800
commit 996a4fcda7
121 changed files with 20557 additions and 3 deletions

View File

@@ -0,0 +1,51 @@
import { Logger } from '@nestjs/common';
export interface RequestLogContext {
requestId: string;
trackingCode?: string;
provider?: string;
inquiryType?: string;
durationMs?: number;
success?: boolean;
}
/**
* Structured console logging for inquiry lifecycle events.
* Complements MongoDB persistence in LoggingModule.
*/
export class RequestLogger {
private readonly logger: Logger;
constructor(context: string) {
this.logger = new Logger(context);
}
logStart(ctx: RequestLogContext, message: string): void {
this.logger.log(this.format(ctx, message));
}
logSuccess(ctx: RequestLogContext, message: string): void {
this.logger.log(this.format({ ...ctx, success: true }, message));
}
logFailure(ctx: RequestLogContext, message: string, error?: unknown): void {
this.logger.error(
this.format({ ...ctx, success: false }, message),
error instanceof Error ? error.stack : undefined,
);
}
private format(ctx: RequestLogContext, message: string): string {
const parts = [
`requestId=${ctx.requestId}`,
ctx.trackingCode ? `trackingCode=${ctx.trackingCode}` : null,
ctx.provider ? `provider=${ctx.provider}` : null,
ctx.inquiryType ? `inquiryType=${ctx.inquiryType}` : null,
ctx.durationMs !== undefined ? `durationMs=${ctx.durationMs}` : null,
ctx.success !== undefined ? `success=${ctx.success}` : null,
`msg=${message}`,
].filter(Boolean);
return parts.join(' | ');
}
}