如何在typescript/node中捕获函数打印到终端的输出



我使用的是typescript/node.js代码库,其中有一个正常调用的函数:

func('param1', 'param2', param3')

这个函数没有返回值,但当代码运行时,它会将不同类型的输出打印到终端-这个输出可能是正常的console.log语句或某种错误。我希望能够捕获函数打印到变量中的任何内容,以便以后使用-有人知道如何捕获函数输出到变量中吗?(这样我以后可以在if统计中使用它(

如果函数使用console.log输出值,则可以将其重写为:

console.lg = console.log;
console.log = function(arg)
{
console.lg(arg);
global.myOutput = arg;
};

然后调用您的函数,然后检查global.myOutput的值。此外,您可以将所有这些逻辑传递到一个对象中:

const logCapture = {
output: null,
enable() {
console.lg = console.log;
const that = this;
console.log = function(arg) {
console.lg(arg);
that.output = arg;
};
},
getOutput() {
return this.output;
},
disable() {
console.log = console.lg;
console.lg = undefined;
}
}

并使用它:

logCapture.enable();
callToFunction(...);
let myVar = logCapture.getOutput();
logCapture.disable();

我宁愿创建一个包装器函数,它将负责打印到控制台并更新全局变量。

let log = function(msg){
console.log(msg);
outputLog += msg + "n";
}

如果您想调用console.log,请使用log((代替

相关内容

  • 没有找到相关文章

最新更新