如何在不覆盖console.log的情况下将浏览器控制台日志保存到数据库中

How can I save the browser console logs to my DB without overriding console.log

本文关键字:日志 控制台 浏览器 保存 数据库 情况下 覆盖 console log      更新时间:2023-09-26

我有一个非常大的应用程序,它记录了里面发生的很多事情

当出现客户端错误时,我想将X日志的历史记录发送到我的数据库。

为了做到这一点,我首先想到了这样的东西:

var yo={log:function(){//将参数保存到队列的一些逻辑console.log(参数);},错误:function(){//将参数保存到队列的一些逻辑//将队列保存到数据库的一些逻辑console.error(参数);}}

然后使用

yo.log()
而不是
console.log()[/pre>

此方法的问题是,所有错误和日志(在chrome控制台中)调试链接都指向yo函数定义,而不是代码中的实际错误

有人知道这个问题有更好的解决方案吗?

下面是一个简单的例子:http://codepen.io/guysopher/pen/xZKMgG

var yo = {
  log: function() {
    console.log.apply(console, arguments);
  }
}
console.log('This shows the right line number!');
yo.log('This shows the wrong line number!');

这可能会对您有所帮助。正在捕获javascript console.log?

但是,您需要记住,您覆盖了console.log函数。