簡體   English   中英

如何在不覆蓋console.log的情況下將瀏覽器控制台日志保存到數據庫中

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

我有一個非常大的應用程序,它記錄了其中發生的許多事情。

發生客戶端錯誤時,我想將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!'); 

這可能會對您有所幫助。 捕獲javascript console.log?

但是,您需要記住,您覆蓋了console.log函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM