重构tracer设计

This commit is contained in:
2026-02-04 01:07:15 +08:00
parent 0ba82716dc
commit 4bf3f98839
21 changed files with 408 additions and 225 deletions

View File

@@ -0,0 +1,44 @@
import { getTracerContext } from '../context';
interface LogTracerCreateOptions {
description?: string;
}
export const createLogTracer = (options: LogTracerCreateOptions) => {
const { description = 'LogTracer' } = options;
const tracer = crypto.randomUUID();
const { command } = getTracerContext();
command({
type: 'LogTracer',
tracer: tracer,
action: 'create',
params: {
description: description,
},
});
const log = (...args: unknown[]) => {
const parsed = args.map((arg) => {
if (typeof arg === 'string') {
return arg;
}
return JSON.stringify(arg);
});
const message = parsed.join(' ');
command({
type: 'LogTracer',
tracer: tracer,
action: 'log',
params: {
message: message,
},
});
};
return {
log,
};
};