Jelajahi Sumber

fix(core): Enhance error handling for Error instances in logger (#3561)

Oliver Streißelberger 8 bulan lalu
induk
melakukan
a580e886e6
1 mengubah file dengan 7 tambahan dan 1 penghapusan
  1. 7 1
      packages/core/src/config/logger/vendure-logger.ts

+ 7 - 1
packages/core/src/config/logger/vendure-logger.ts

@@ -153,7 +153,13 @@ export class Logger implements LoggerService {
 
 
     /** @internal */
     /** @internal */
     error(message: any, trace?: string, context?: string): any {
     error(message: any, trace?: string, context?: string): any {
-        this.instance.error(message, context, trace);
+        // Nestjs ExceptionHandler can't log Error instances properly, so we need to handle them separately.
+        if (message instanceof Error) {
+            const err = message;
+            this.instance.error(err.message, context, err.stack);
+        } else {
+            this.instance.error(message, context, trace);
+        }
     }
     }
 
 
     /** @internal */
     /** @internal */