我通过调用installExtensions
启用了用于调试脚本的ConsoleExtension
。如何捕获 QJSEngine 的控制台输出?
如果要将脚本的输出捕获回C++程序中,最好不要使用该ConsoleExtension
- 而是公开一个 API 以允许脚本直接调用您的实现以"打印到标准输出"。
以 Plasma ScriptEngine 所做的为例 - 它在脚本可用于"打印输出"的globalObject
上公开了一个print()
方法。在 Plasma 中,它将从 Plasmashell 进程中打印出来并由各种日志记录机制捕获,但您可以使用print()
函数的输入执行所需的操作。您的全局对象接口甚至可以模仿console.log()
。