mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 11:20:43 +00:00
refactor: reuse runtime logger helper
This commit is contained in:
@@ -1,37 +1 @@
|
||||
import { format } from "node:util";
|
||||
|
||||
type RuntimeLoggerLike = {
|
||||
info: (message: string) => void;
|
||||
error: (message: string) => void;
|
||||
};
|
||||
|
||||
type LoggerBackedRuntime = {
|
||||
log: (...args: unknown[]) => void;
|
||||
error: (...args: unknown[]) => void;
|
||||
writeStdout: (value: string) => void;
|
||||
writeJson: (value: unknown, space?: number) => void;
|
||||
exit: (code: number) => never;
|
||||
};
|
||||
|
||||
export function createLoggerBackedRuntime(params: {
|
||||
logger: RuntimeLoggerLike;
|
||||
exitError?: (code: number) => Error;
|
||||
}): LoggerBackedRuntime {
|
||||
return {
|
||||
log: (...args) => {
|
||||
params.logger.info(format(...args));
|
||||
},
|
||||
error: (...args) => {
|
||||
params.logger.error(format(...args));
|
||||
},
|
||||
writeStdout: (value) => {
|
||||
params.logger.info(value);
|
||||
},
|
||||
writeJson: (value, space = 2) => {
|
||||
params.logger.info(JSON.stringify(value, null, space > 0 ? space : undefined));
|
||||
},
|
||||
exit: (code: number): never => {
|
||||
throw params.exitError?.(code) ?? new Error(`exit ${code}`);
|
||||
},
|
||||
};
|
||||
}
|
||||
export { createLoggerBackedRuntime } from "openclaw/plugin-sdk/runtime-logger";
|
||||
|
||||
@@ -97,6 +97,10 @@
|
||||
"types": "./dist/plugin-sdk/runtime-env.d.ts",
|
||||
"default": "./dist/plugin-sdk/runtime-env.js"
|
||||
},
|
||||
"./plugin-sdk/runtime-logger": {
|
||||
"types": "./dist/plugin-sdk/runtime-logger.d.ts",
|
||||
"default": "./dist/plugin-sdk/runtime-logger.js"
|
||||
},
|
||||
"./plugin-sdk/proxy-capture": {
|
||||
"types": "./dist/plugin-sdk/proxy-capture.d.ts",
|
||||
"default": "./dist/plugin-sdk/proxy-capture.js"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"runtime",
|
||||
"runtime-doctor",
|
||||
"runtime-env",
|
||||
"runtime-logger",
|
||||
"proxy-capture",
|
||||
"runtime-secret-resolution",
|
||||
"setup",
|
||||
|
||||
Reference in New Issue
Block a user