捕获javascript console.log?
当我的JS应用程序写入console.log时,我想捕获该日志消息,以便可以AJAX将日志输出到服务器。我怎么做?
写入日志的代码来自外部服务,这就是为什么我不能直接将其ajax的原因。
回答:
您可以通过以下方式劫持JavaScript函数:
(function(){ var oldLog = console.log;
console.log = function (message) {
// DO MESSAGE HERE.
oldLog.apply(console, arguments);
};
})();
- 行将您的函数包装在一个闭包中,因此没有其他函数可以直接访问
oldLog
(出于可维护性的原因)。 - 记录了原始方法。
- 创建了一个新功能。
- 是您发送
message
到服务器的位置。 - 行将调用原始方法,因为它最初会被处理。
apply
使用这样我们就可以调用它 在
console
使用原来的参数。简单调用oldLog(message)
会失败,因为log
取决于它与的关联console
。
以上是 捕获javascript console.log? 的全部内容, 来源链接: utcz.com/qa/405368.html