2014-03-29 38 views
6
設置的console.log的檔案號

即時通訊目前以其中,至少在目前,不支持日誌記錄還網絡工作者提供內部功能相同寫在Chrome的console對象的包裝。如何重寫或鉻

一旦工人通知主線程,我複製日誌調用的東西,如:

Function.prototype.apply.call(console.log, console, [workerLogObject]) 

在這一點上,雖然,鉻認識到控制檯本身的調用和引用文件,行和列(上正確的)。根據console.log的定義顯示的信息使用該方法被調用的任何資源 - 在我的情況下是包裝器。

回到問題,是否可以在調用console對象的方法時更改文件引用,以便在我的情況下顯示另一個文件,如web worker? enter image description here

+0

沒有,我找到了,我看過...... –

+0

@JeremyJStarcher聽起來像壞消息...你能告訴如果有強制控制檯URL像'http://0.0.0.0/ js/testworker.js:5:11'可以用chrome devtools而不是普通的標籤打開嗎?的 – Ivo

+0

可能重複[如何調試網絡工作者(http://stackoverflow.com/questions/2323778/how-to-debug-web-workers) – Oleg

回答

0

嘗試從一個工人,而不是記錄到控制檯拋出異常。 我沒有試過,但你也許能夠得到確切的行數和文件位置

throw 'a debug message'; 

顯然這將終止執行塊所以一定要提前做好它的實際工作。

+0

我知道如何獲取文件和行號。我只是做一些像'(新錯誤).stack'和查找通過被調用者,雖然你的解決方案可能會更好。我需要的是將此信息推送到'console.log',以防止總是顯示錯誤的文件信息 – Ivo