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

时间:2015-12-03 09:49:42

标签: javascript web console

我有一个非常大的应用程序,记录了很多内容。

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

为此,我首先想到了类似的东西:

var yo = {
  log: function() {
    //some logic to save arguments to a queue
    console.log(arguments);
  },
  error: function() {
    //some logic to save arguments to a queue
    //some logic to save queue to db
    console.error(arguments);
  }
}

然后使用

yo.log()
代替
console.log()

此方法的问题在于所有错误和日志(在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!');




1 个答案:

答案 0 :(得分:0)

这可能对你有所帮助。 Capturing javascript console.log?

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