summaryrefslogtreecommitdiffhomepage
path: root/js/src/util
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-18 14:28:08 -0400
committerDax Raad <[email protected]>2025-05-26 12:40:17 -0400
commit49ad2efef6048f007af0036a8fe88b45c273ed34 (patch)
treeb083cf8724673a7458e3e4bd12905ee187c6c7b8 /js/src/util
parent0e303e6508edb4374213d1f98ec383b266339774 (diff)
downloadopencode-49ad2efef6048f007af0036a8fe88b45c273ed34.tar.gz
opencode-49ad2efef6048f007af0036a8fe88b45c273ed34.zip
sync
Diffstat (limited to 'js/src/util')
-rw-r--r--js/src/util/log.ts29
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;