我在Stack Overflow的一些问题中已经看到有示例,示例代码或片段。如下图所示:
console.log(1, 2, 3)

通过运行上面的代码段,您会看到以下内容:
我目前正在使用node.js中的某些内容,它还需要从console.log
获取输出。我发现Stack Overflow能够做到这一点令人着迷,而我甚至不知道他们是如何做到的。
如果有人可以向我发送我可以阅读的链接并了解如何从控制台API获取数据,我将非常感激。
干杯,
理查德
P.S。如果有人可以编辑此帖子来显示图片,我会非常感激。
修改
我正在开发的项目是Electron应用程序。它使用node.js进程和Electron BrowserWindow。
它使用我正在处理的记录器,需要从console.log
有些用例可能如下所示:
console.log('%d is cool', User.firstName)
// => "Jason is cool"
或
console.log('User ID:', User._id)
// => A5FFE
或
console.log('%cUser connected!', 'color: #00FF00')
// => User connected!
// In green text.
答案 0 :(得分:2)
您可以使用自己的功能覆盖window.console.log
以达到这样的效果。例如:
const oldConsoleLog = console.log.bind(console);
console.log = (...params) => {
const textToDisplay = params.map(param =>
typeof param === 'object'
? JSON.stringify(param)
: param
);
document.body.appendChild(document.createElement('div'))
.textContent = textToDisplay;
oldConsoleLog(...params);
};
console.log('foo');
console.log('bar baz');
console.log({ prop: 'value' });

.as-console-wrapper {
height: 60%
}

答案 1 :(得分:0)
在nodejs中,console.log
只是将传递给它的数据格式化,然后将其写入process.stdout
,这是一个转到命令行窗口的流。要拦截它,您可以只监听该流上的事件:
process.stdout.on("data", chunk => {
// Do what you wanna do
});