当我的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。
apply
console
oldLog(message)
log