什么调试日志工具可以从Javascript获得?

前端之家收集整理的这篇文章主要介绍了什么调试日志工具可以从Javascript获得?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个“通用”调试日志记录功能,用于检查JS命名空间的知名日志库.

例如,目前它支持Firebug的console.log:

var console = window['console'];
if (console && console.log) {
  console.log(message);
}

显然,这只有在Firebug安装/启用时才可以在Firefox中使用(也可以在其他浏览器上使用Firebug Lite).基本上,我将提供一个JS库,我不知道什么环境将被拉入,我想知道是否有办法向用户报告调试输出.

所以,也许jQuery提供了一些东西 – 我会检查jQuery是否存在并使用它.或者也许有一些知名的IE插件,我可以嗅探的工作.但它必须是一个相当确定和使用的机制.我无法检查人们创建的每个模糊的日志功能.

请每个答案只有一个图书馆/技术,所以他们可以获得投票排名.此外,使用alert()是一个很好的短期解决方案,但是如果您想要强大的调试日志记录或者阻止执行是一个问题,则会中断.

解决方法

我个人使用Firebug / Firebug Lite,并在IE上让Visual Studio进行调试.当访问者使用一些疯狂的浏览器时,这些都不会有任何好处.您真的需要让您的客户端javascript将其错误记录到您的服务器.看看下面链接的power point演示文稿.它有一些非常整洁的想法,如何让你的javascript来记录你的服务器上的东西.

基本上,你挂起window.onerror和你的try {} catch(){}阻止一个函数,使一个请求返回到您的服务器与有用的调试信息.

我刚刚在自己的Web应用程序上实现了这样一个过程.我有每一个catch(){}块调用一个函数发送一个JSON编码的消息回到服务器,这反过来使用我现有的日志基础设施(在我的情况下log4perl).我链接的演示文稿还建议在您的JavaScript中加载图像,将错误作为GET请求的一部分.唯一的问题是如果你想包括堆栈跟踪(哪个IE根本不为你生成),请求将会太大.

Tracking ClientSide Errors,by Eric Pascarello

PS:我想补充说,我不认为使用任何类似jQuery的“hardcore”日志记录是一个好主意,因为您正在记录的错误原因是jQuery或Firebug Lite!也许错误是浏览器(咳嗽IE6)做了一些疯狂的加载顺序,并且抛出某种Null参考错误,因为它太愚蠢加载库正确.

在我的例子中,我确保我所有的JavaScript日志代码都位于< head>而不是作为.js文件拉入.这样,我可以肯定的是,无论浏览器抛出什么样的曲线球,赔率都很好,我可以登录.

猜你在找的JavaScript相关文章