如何在 JavaScript 中将 console.log 内容作为字符串获取
Posted
技术标签:
【中文标题】如何在 JavaScript 中将 console.log 内容作为字符串获取【英文标题】:How to get the console.log content as string in JavaScript 【发布时间】:2014-07-26 00:12:40 【问题描述】:我正在尝试将 console.log 作为纯 javascript 中的字符串。 我的输入是一个脚本,我不熟悉,我想把console.log中的所有消息收集成一个字符串。
例如:
function doSomething()
console.log("start");
console.log("end");
var consoleLog = getConsoleLog();
return consoleLog;
function getConsoleLog()
// How to implement this?
alert(doSomething());
JSFiddle link
请注意,我不需要提醒日志 - 这只是测试功能的一个简单示例。我得对日志的内容做一些操作。
【问题讨论】:
【参考方案1】:您可以在使用之前覆盖console.log
方法:
var logBackup = console.log;
var logMessages = [];
console.log = function()
logMessages.push.apply(logMessages, arguments);
logBackup.apply(console, arguments);
;
使用 apply
和 arguments
保留正确的 console.log
行为,即您可以通过一次调用添加多个日志消息。
它将所有新的console.log
消息推送到logMessages
数组。
【讨论】:
这对我来说会引发“InternalError: too much recursion”错误。以上是关于如何在 JavaScript 中将 console.log 内容作为字符串获取的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中将 javascript console.log 到 println() 到 Xcode 调试器?
如何在javascript中将给定的日期和时间转换为纪元时间?