mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-14 03:20:49 +00:00
* 1、环境变量**:新增 `OPENCLAW_LOG_LEVEL`,可取值 `silent|fatal|error|warn|info|debug|trace`。设置后同时覆盖**文件日志**与**控制台**的级别,优先级高于配置文件。 2、启动参数**:在 `openclaw gateway run` 上新增 `--log-level <level>`,对该次进程同时生效于文件与控制台;未传时仍使用环境变量或配置文件。 * fix(logging): make log-level override global and precedence-safe --------- Co-authored-by: Peter Steinberger <steipete@gmail.com>
24 lines
812 B
TypeScript
24 lines
812 B
TypeScript
import { ALLOWED_LOG_LEVELS, type LogLevel, tryParseLogLevel } from "./levels.js";
|
|
import { loggingState } from "./state.js";
|
|
|
|
export function resolveEnvLogLevelOverride(): LogLevel | undefined {
|
|
const raw = process.env.OPENCLAW_LOG_LEVEL;
|
|
const trimmed = typeof raw === "string" ? raw.trim() : "";
|
|
if (!trimmed) {
|
|
loggingState.invalidEnvLogLevelValue = null;
|
|
return undefined;
|
|
}
|
|
const parsed = tryParseLogLevel(trimmed);
|
|
if (parsed) {
|
|
loggingState.invalidEnvLogLevelValue = null;
|
|
return parsed;
|
|
}
|
|
if (loggingState.invalidEnvLogLevelValue !== trimmed) {
|
|
loggingState.invalidEnvLogLevelValue = trimmed;
|
|
process.stderr.write(
|
|
`[openclaw] Ignoring invalid OPENCLAW_LOG_LEVEL="${trimmed}" (allowed: ${ALLOWED_LOG_LEVELS.join("|")}).\n`,
|
|
);
|
|
}
|
|
return undefined;
|
|
}
|