我正在开发一个 Web 应用程序,将要推出到几个用户进行测试。显然会有一些问题,因此我希望能够捕获它们,以便更容易地开发修复程序。是否有办法在我的 Web 应用程序中截取任何控制台消息(包括浏览器/js错误和使用 console.log 生成的消息),以便我可以将它们发送到服务器上的日志记录服务,并使它们可用于调试?
是的。
拦截 console.log()
调用:
console['log'] = function(msg){
// do wahtever you need with msg here
}
try {
// your app's code
} catch(err) {
// do what you to do in case of error need here
}
console.log()
的目的,并且该函数可以在生产环境中关闭。此外,它将在浏览器不支持console.log()
调用时正常工作(也就是说,不会抛出错误)。这可能看起来像这样:window['log'] = function(msg){
if (typeof console != 'undefined' && typeof console.log != 'undefined'){
console.log(msg);
}
}