diff --git a/package.json b/package.json index d735c2fe..d80c2cd2 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "devDependencies": { "@microsoft/api-extractor": "^7.13.2", "@rushstack/eslint-config": "^2.3.2", + "@typescript-eslint/types": "^4.21.0", "@types/jest": "^26.0.20", "@types/node": "^14.14.33", "@types/source-map-support": "^0.5.3", diff --git a/src/LoggerWithoutCallSite.ts b/src/LoggerWithoutCallSite.ts index a262fb26..07c753fa 100644 --- a/src/LoggerWithoutCallSite.ts +++ b/src/LoggerWithoutCallSite.ts @@ -455,14 +455,15 @@ export class LoggerWithoutCallSite { relevantCallSites.length = stackLimit; } - const errorObject: IErrorObject = (LoggerHelper.cloneObjectRecursively( - error - ) as unknown) as IErrorObject; - errorObject.nativeError = error; - errorObject.details = { ...error }; - errorObject.name = errorObject.name ?? "Error"; - errorObject.isError = true; - errorObject.stack = this._toStackObjectArray(relevantCallSites); + const errorObject: IErrorObject = { + nativeError: error, + details: { ...error }, + name: error.name ?? "Error", + isError: true, + message: error.message, + stack: this._toStackObjectArray(relevantCallSites), + }; + if (errorObject.stack.length > 0) { const errorCallSite: IStackFrame = LoggerHelper.toStackFrameObject( this._callSiteWrapper(relevantCallSites[0])