diff --git a/packages/db/src/buffers/buffer.ts b/packages/db/src/buffers/buffer.ts index 4d604dfd..20c8d61b 100644 --- a/packages/db/src/buffers/buffer.ts +++ b/packages/db/src/buffers/buffer.ts @@ -23,6 +23,18 @@ export type FindMany = ( callback: (item: QueueItem) => boolean ) => Promise; +const getError = (e: unknown) => { + if (e instanceof Error) { + return [ + 'Name: ' + e.name, + 'Message: ' + e.message, + 'Stack: ' + e.stack, + 'Cause: ' + e.cause, + ].join('\n'); + } + return 'Unknown error'; +}; + export abstract class RedisBuffer { // constructor public prefix = 'op:buffer'; @@ -98,7 +110,7 @@ export abstract class RedisBuffer { ); const timestamp = new Date().getTime(); await this.redis.hset(this.getKey(`failed:${timestamp}`), { - error: e instanceof Error ? e.message : 'Unknown error', + error: getError(e), data: JSON.stringify(queue.map((item) => item.event)), retries: 0, });