summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-07-19 13:35:42 -0400
committerDax Raad <[email protected]>2025-07-19 13:37:02 -0400
commitc1d87c32a2df8f9e27270ac46107f767caf38a1f (patch)
tree0519bd38c9d27cd870f6631534734c94406159a0 /packages
parent9c5d9be33a56e99c18726f579cd61d535eb0df13 (diff)
downloadopencode-c1d87c32a2df8f9e27270ac46107f767caf38a1f.tar.gz
opencode-c1d87c32a2df8f9e27270ac46107f767caf38a1f.zip
remove log level from config
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/config/config.ts1
-rw-r--r--packages/opencode/src/index.ts34
-rw-r--r--packages/opencode/src/util/log.ts15
3 files changed, 19 insertions, 31 deletions
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts
index 781e47c79..7ec4b3141 100644
--- a/packages/opencode/src/config/config.ts
+++ b/packages/opencode/src/config/config.ts
@@ -167,7 +167,6 @@ export namespace Config {
.catchall(Mode)
.optional()
.describe("Modes configuration, see https://opencode.ai/docs/modes"),
- log_level: Log.Level.optional().describe("Minimum log level to write to log files"),
provider: z
.record(
ModelsDev.Provider.partial().extend({
diff --git a/packages/opencode/src/index.ts b/packages/opencode/src/index.ts
index 73ff26c6f..0564e44d4 100644
--- a/packages/opencode/src/index.ts
+++ b/packages/opencode/src/index.ts
@@ -44,25 +44,21 @@ const cli = yargs(hideBin(process.argv))
describe: "print logs to stderr",
type: "boolean",
})
- .middleware(async () => {
- await Log.init({ print: process.argv.includes("--print-logs"), dev: Installation.isDev() })
-
- try {
- const { Config } = await import("./config/config")
- const { App } = await import("./app/app")
-
- App.provide({ cwd: process.cwd() }, async () => {
- const cfg = await Config.get()
- if (cfg.log_level) {
- Log.setLevel(cfg.log_level as Log.Level)
- } else {
- const defaultLevel = Installation.isDev() ? "DEBUG" : "INFO"
- Log.setLevel(defaultLevel)
- }
- })
- } catch (e) {
- Log.Default.error("failed to load config", { error: e })
- }
+ .option("log-level", {
+ describe: "log level",
+ type: "string",
+ choices: ["DEBUG", "INFO", "WARN", "ERROR"],
+ })
+ .middleware(async (opts) => {
+ await Log.init({
+ print: process.argv.includes("--print-logs"),
+ dev: Installation.isDev(),
+ level: (() => {
+ if (opts.logLevel) return opts.logLevel as Log.Level
+ if (Installation.isDev()) return "DEBUG"
+ return "INFO"
+ })(),
+ })
Log.Default.info("opencode", {
version: Installation.VERSION,
diff --git a/packages/opencode/src/util/log.ts b/packages/opencode/src/util/log.ts
index c3cb04d29..a0b53876f 100644
--- a/packages/opencode/src/util/log.ts
+++ b/packages/opencode/src/util/log.ts
@@ -14,18 +14,10 @@ export namespace Log {
ERROR: 3,
}
- let currentLevel: Level = "INFO"
+ let level: Level = "INFO"
- export function setLevel(level: Level) {
- currentLevel = level
- }
-
- export function getLevel(): Level {
- return currentLevel
- }
-
- function shouldLog(level: Level): boolean {
- return levelPriority[level] >= levelPriority[currentLevel]
+ function shouldLog(input: Level): boolean {
+ return levelPriority[input] >= levelPriority[level]
}
export type Logger = {
@@ -60,6 +52,7 @@ export namespace Log {
}
export async function init(options: Options) {
+ if (options.level) level = options.level
const dir = path.join(Global.Path.data, "log")
await fs.mkdir(dir, { recursive: true })
cleanup(dir)