我构建了一个自定义日志记录实用程序,它显示日志消息和日期时间。我想在调用该函数的源代码中添加行号。
有没有办法确定特定 javascript 函数被触发的 HTML 源代码的哪一行?
编写了一个日志库(log4javascript http://log4javascript.org/)我自己也考虑过同样的问题,这是我的想法:
问题是,为了获得你想要的信息,你需要一个Error
在相关行上创建的对象。创建一个Error
在您的日志记录实用程序中,只会直接为您提供日志记录实用程序代码中特定行的文件名和行号,而不是发出日志记录调用的代码行的文件名和行号。我能想到的唯一方法是解析stack
的财产Error
(或者message
Opera 中的属性),它有几个问题:
- 堆栈跟踪仅在 Mozilla、最新的 WebKit 和 Opera 浏览器中可用
- 堆栈跟踪是一个因浏览器而异的字符串,并且可能会在未来的浏览器中再次更改格式而不另行通知,从而破坏解析代码
- 扔一个
Error
为每个日志调用解析其堆栈跟踪将增加显着的性能开销。
出于 log4javascript 的目的,我认为它不值得实现,但出于您自己的需要,您可能会认为它值得。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)