2014-09-30 44 views
3

假設一個特定的用戶正在使用Chrome瀏覽器,並且獲得了Chrome控制檯中記錄的運行時錯誤。我想知道那是什麼錯誤。目前,我必須聯繫特定用戶,讓他們打開控制檯並告訴我錯誤是什麼(或發送屏幕截圖)。有沒有什麼辦法可以記錄瀏覽器控制檯錯誤

有沒有辦法讓我自動捕獲或記錄該錯誤(不管錯誤是什麼)並將其發送到服務器?

作爲後續問題,有沒有辦法爲所有主流瀏覽器做到這一點?

+0

有各種工具/執行此操作的庫。例如,請看[Sentry](https://www.getsentry.com/for/javascript/)。 – 2014-09-30 11:56:02

回答

4

你可以換的console.log和console.error與測井方法

var log = console.log; 

console.log = function() { 
    //Ajax post arguments to your server for logging 
    return log.apply(console, arguments); 
}; 

var error = console.error; 

console.error = function() { 
    //log arguments to server 
    return error.apply(console, arguments); 
}; 
+0

關於瀏覽器生成的錯誤,而不是我專門記錄自己的東西?如果瀏覽器無法解析JSON響應(作爲示例),瀏覽器將記錄錯誤。我想知道這件事。以上是否會照顧這種情況? – user1775598 2014-09-30 12:05:27

+0

不,它不會但會得到任何JS代碼發送的日誌和錯誤。如果你想記錄瀏覽器錯誤,你也可以使用window.onerror = function(errorMsg,url,lineNumber){ajax log to server('Error:'+ errorMsg +'Script:'+ url +'Line: '+ lineNumber); }。 HTML 5 onerror也會發送col,錯誤。 – artm 2014-09-30 12:24:34

相關問題