From 49ad2efef6048f007af0036a8fe88b45c273ed34 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sun, 18 May 2025 14:28:08 -0400 Subject: sync --- js/src/util/log.ts | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'js/src/util') 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) { 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) { - console.log(...build(message, extra)); + write.out(build(message, extra)); }, error(message?: any, extra?: Record) { - console.error(...build(message, extra)); + write.err(build(message, extra)); }, tag(key: string, value: string) { if (tags) tags[key] = value; -- cgit v1.2.3