diff --git a/packages/rrweb/src/plugins/console/record/stringify.ts b/packages/rrweb/src/plugins/console/record/stringify.ts index f7bfac32..1538fb34 100644 --- a/packages/rrweb/src/plugins/console/record/stringify.ts +++ b/packages/rrweb/src/plugins/console/record/stringify.ts @@ -136,6 +136,8 @@ export function stringify( return value ? value.outerHTML : ''; } return value.nodeName; + } else if (value instanceof Error) { + return value.name + ': ' + value.message; } return value; }); diff --git a/packages/rrweb/test/__snapshots__/integration.test.ts.snap b/packages/rrweb/test/__snapshots__/integration.test.ts.snap index bea952c4..9de56306 100644 --- a/packages/rrweb/test/__snapshots__/integration.test.ts.snap +++ b/packages/rrweb/test/__snapshots__/integration.test.ts.snap @@ -7806,6 +7806,21 @@ exports[`record integration tests should record console messages 1`] = ` } } }, + { + \\"type\\": 6, + \\"data\\": { + \\"plugin\\": \\"rrweb/console@1\\", + \\"payload\\": { + \\"level\\": \\"log\\", + \\"trace\\": [ + \\"__puppeteer_evaluation_script__:19:37\\" + ], + \\"payload\\": [ + \\"\\\\\\"TypeError: a message\\\\\\"\\" + ] + } + } + }, { \\"type\\": 3, \\"data\\": { diff --git a/packages/rrweb/test/integration.test.ts b/packages/rrweb/test/integration.test.ts index b0f3b826..88dfbf5e 100644 --- a/packages/rrweb/test/integration.test.ts +++ b/packages/rrweb/test/integration.test.ts @@ -471,6 +471,7 @@ describe('record integration tests', function (this: ISuite) { console.trace('trace'); console.warn('warn'); console.clear(); + console.log(new TypeError('a message')); const iframe = document.createElement('iframe'); document.body.appendChild(iframe); });