当前位置:  开发笔记 > 编程语言 > 正文

Javascript提供哪些调试日志工具?

如何解决《Javascript提供哪些调试日志工具?》经验,为你挑选了2个好方法。

我想创建一个"通用"调试日志记录功能,检查着名的日志记录库的JS命名空间.

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

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

显然,这只适用于Firefox,如果安装/启用Firebug(它也适用于其他使用Firebug Lite的浏览器).基本上,我将提供一个JS库,我不知道它将被引入什么环境,我希望能够弄清楚是否有办法向用户报告调试输出.

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

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



1> Cory R. King..:

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

基本上,您使用一个函数挂钩window.onerror和try {} catch(){}块,该函数使用有用的调试信息向您的服务器发出请求.

我刚刚在自己的Web应用程序上实现了这样一个过程.我有每个catch(){}块调用一个函数将一个JSON编码的消息发送回服务器,然后服务器使用我现有的日志记录基础结构(在我的例子中是log4perl).我链接到的演示文稿还建议在javascript中加载图像,将错误包含在GET请求中.唯一的问题是如果你想要包含堆栈跟踪(IE根本不为你生成),请求将会太大.

由Eric Pascarello跟踪ClientSide错误

PS:我想补充一点,我不认为使用任何类型的库(如jQuery)进行"硬核"日志记录是一个好主意,因为您记录的错误的原因可能 jQuery或Firebug Lite!也许错误是浏览器(咳嗽 IE6)做了一些疯狂的加载顺序,并抛出某种Null Reference错误,因为它太愚蠢,无法正确加载库.

在我的实例中,我确保我的所有javascript日志代码都在中,而不是作为.js文件引入.这样,我可以合理地确定无论浏览器抛出什么样的曲线球,赔率都很好我能够记录它.



2> Tim Down..:

你可以试试log4javascript.

披露:我写了.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有