forked from Shared/esg
moallem all endpoints working
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { Logger } from '@nestjs/common';
|
||||
import { NormalizedErrorDto } from '../dto/normalized-error.dto';
|
||||
|
||||
export interface RequestLogContext {
|
||||
requestId: string;
|
||||
@@ -29,10 +30,12 @@ export class RequestLogger {
|
||||
}
|
||||
|
||||
logFailure(ctx: RequestLogContext, message: string, error?: unknown): void {
|
||||
this.logger.error(
|
||||
this.format({ ...ctx, success: false }, message),
|
||||
error instanceof Error ? error.stack : undefined,
|
||||
);
|
||||
const errorDetail = formatErrorDetail(error);
|
||||
const line = errorDetail
|
||||
? `${this.format({ ...ctx, success: false }, message)} | error=${errorDetail}`
|
||||
: this.format({ ...ctx, success: false }, message);
|
||||
|
||||
this.logger.error(line, error instanceof Error ? error.stack : undefined);
|
||||
}
|
||||
|
||||
private format(ctx: RequestLogContext, message: string): string {
|
||||
@@ -49,3 +52,21 @@ export class RequestLogger {
|
||||
return parts.join(' | ');
|
||||
}
|
||||
}
|
||||
|
||||
function formatErrorDetail(error: unknown): string | undefined {
|
||||
if (!(error instanceof Error)) {
|
||||
return error !== undefined ? String(error) : undefined;
|
||||
}
|
||||
|
||||
const normalized = (error as Error & { normalizedError?: NormalizedErrorDto }).normalizedError;
|
||||
if (normalized?.providerMessage) {
|
||||
const code = normalized.providerCode ? ` (${normalized.providerCode})` : '';
|
||||
return `${normalized.providerMessage}${code}`;
|
||||
}
|
||||
|
||||
if (normalized?.message && normalized.message !== error.message) {
|
||||
return normalized.message;
|
||||
}
|
||||
|
||||
return error.message;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user