捕获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);

};

})();

  1. 行将您的函数包装在一个闭包中,因此没有其他函数可以直接访问oldLog(出于可维护性的原因)。
  2. 记录了原始方法。
  3. 创建了一个新功能。
  4. 是您发送message到服务器的位置。
  5. 行将调用原始方法,因为它最初会被处理。

apply使用这样我们就可以调用它

console使用原来的参数。简单调用oldLog(message)会失败,因为log取决于它与的关联console


以上是 捕获javascript console.log? 的全部内容, 来源链接: utcz.com/qa/405368.html

回到顶部