diff options
| author | Dax Raad <[email protected]> | 2025-05-18 14:28:08 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-26 12:40:17 -0400 |
| commit | 49ad2efef6048f007af0036a8fe88b45c273ed34 (patch) | |
| tree | b083cf8724673a7458e3e4bd12905ee187c6c7b8 /js/src/util | |
| parent | 0e303e6508edb4374213d1f98ec383b266339774 (diff) | |
| download | opencode-49ad2efef6048f007af0036a8fe88b45c273ed34.tar.gz opencode-49ad2efef6048f007af0036a8fe88b45c273ed34.zip | |
sync
Diffstat (limited to 'js/src/util')
| -rw-r--r-- | js/src/util/log.ts | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/js/src/util/log.ts b/js/src/util/log.ts index 8f7157140..8ba0a15cf 100644 --- a/js/src/util/log.ts +++ b/js/src/util/log.ts @@ -1,4 +1,27 @@ +import fs from "node:fs"; +import path from "node:path"; +import { AppPath } from "../app/path"; export namespace Log { + const write = { + out: (msg: string) => { + process.stdout.write(msg); + }, + err: (msg: string) => { + process.stderr.write(msg); + }, + }; + + export function file(directory: string) { + const out = Bun.file( + path.join(AppPath.data(directory), "opencode.out.log"), + ); + const err = Bun.file( + path.join(AppPath.data(directory), "opencode.err.log"), + ); + write["out"] = (msg) => out.write(msg); + write["err"] = (msg) => err.write(msg); + } + export function create(tags?: Record<string, any>) { tags = tags || {}; @@ -9,14 +32,14 @@ export namespace Log { }) .map(([key, value]) => `${key}=${value}`) .join(" "); - return [prefix, message]; + return [prefix, message].join(" "); } const result = { info(message?: any, extra?: Record<string, any>) { - console.log(...build(message, extra)); + write.out(build(message, extra)); }, error(message?: any, extra?: Record<string, any>) { - console.error(...build(message, extra)); + write.err(build(message, extra)); }, tag(key: string, value: string) { if (tags) tags[key] = value; |
