jan*_*187 6 javascript logging sentry web
我正在开发一个包含大量网页的现有项目.我的任务是使用sentr/raven-js引入logging og客户端脚本错误.
在文档中,它说我需要在try/catch块中包含我需要跟踪的函数 - 这对我来说很熟悉,因为我通常在C#中工作.但我不打算编辑alle页面来包装try/catch中的所有javascript函数.有没有办法记录所有错误?
我尝试了一些东西window.onError = Raven.process,但我没有得到任何好处.
有人能告诉我一个我错过的东西吗?我的设置是这样的:
var options = {
logger: 'my-test-logger',
whitelistUrls: [
/localhost/,
/localhost:2109/
]
};
Raven.config('https://<public-key-removed>@app.getsentry.com/<project-key-removed>', options).install();
window.onerror = Raven.process;
Run Code Online (Sandbox Code Playgroud)
我的设置是正确的,除了线:
window.onerror = Raven.process
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我无法激发任何错误来触发日志记录事件,但是一旦我设法模拟真正的错误,日志记录工作正常.这条线:
Raven.config('https://@app.getsentry.com/', options).install();
Run Code Online (Sandbox Code Playgroud)
确实捕获了所有错误.
重要的是要意识到 raven 不会捕获您通过控制台触发的错误。您需要直接在页面中放置一些错误生成代码,或者从控制台执行以下操作:
window.setTimeout(function(){ foo() });
Run Code Online (Sandbox Code Playgroud)
另外,我认为这样做:
window.onerror = Raven.process
Run Code Online (Sandbox Code Playgroud)
没有必要,Raven 已经以更先进的方式为您做到了。