diff options
| author | Aiden Cline <[email protected]> | 2025-08-31 17:11:04 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-31 17:11:04 -0500 |
| commit | 65f0bea1463e21b881a1577c695a110156d02b75 (patch) | |
| tree | e8626e03c5589474900c1372982717f6675b04c5 /packages | |
| parent | e4cc05a975e006f5baf476d3783c7a1c8f61cf3e (diff) | |
| download | opencode-65f0bea1463e21b881a1577c695a110156d02b75.tar.gz opencode-65f0bea1463e21b881a1577c695a110156d02b75.zip | |
ignore: better error logging (#2346)
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/util/log.ts | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/packages/opencode/src/util/log.ts b/packages/opencode/src/util/log.ts index 1b321523a..b4cdd920a 100644 --- a/packages/opencode/src/util/log.ts +++ b/packages/opencode/src/util/log.ts @@ -83,6 +83,13 @@ export namespace Log { await Promise.all(filesToDelete.map((file) => fs.unlink(file).catch(() => {}))) } + function formatError(error: Error, depth = 0): string { + const result = error.message + return error.cause instanceof Error && depth < 10 + ? result + " Caused by: " + formatError(error.cause, depth + 1) + : result + } + let last = Date.now() export function create(tags?: Record<string, any>) { tags = tags || {} @@ -103,7 +110,7 @@ export namespace Log { .filter(([_, value]) => value !== undefined && value !== null) .map(([key, value]) => { const prefix = `${key}=` - if (value instanceof Error) return prefix + value.message + if (value instanceof Error) return prefix + formatError(value) if (typeof value === "object") return prefix + JSON.stringify(value) return prefix + value }) |
