BlackBird
在js开发的调试过程中,如果仅仅是监视当前语句的运行结果,那么除了使用ff+firebug 或者ie+ie debugger,第三个选择我想绝大多数人会使用alert。我偶然在网上见到一个js调试工具-blackbird(http://blackbirdjs.googlecode.com http://www.gscottolson.com/blackbirdjs )。我在开发过程中主要js操作是DOM元素获取和ajax服务器交互,使用blackbird做为操作结果输出已经足够。使用blackbird很简单:
只需要在文件开始引入:
<script type="text/javascript" src="blackbird.js"></script>
<link type="text/css" href="blackbird.css" rel="stylesheet" />
即可。运行结果如图:
注:黑色部分为blackbird的控制台。
blackbird主要有如下特征(官方网站翻译):
工具函数:
log.clear():清除控制台中输出的日志。
log.move():移动控制台位置。
log.toggle():显示/隐藏控制台。
log.resize():重置控制台的尺寸。
日志级别:
log.profile(message
):对同一句话如果2次使用log.profile()标示,那么表示从第一次log.profile()到第二次log.profile()这段代码总共运行的时间。
log.debug():以debug级别输出信息
log.info():以info级别输出信息
log.warning():以warning级别输出信息
log.error():以error级别输出信息
在blackbird中日志级别profile, debug, info, warning, error只要是为了实现控制台日志的过滤。
日志过滤:
单击:表示隐藏控制台中的debug/info/warning/error/profile 级别信息。
ALT + 单击:控制台中只显示 debug/info/warning/error/profile 级别的信息
快捷键:
F2:显示/隐藏控制台。
shift+F2:移动控制台。
命名空间:
在blackbird中,log是全局变量,如果配合其他的js框架中,有可能出现log变量命名冲突。解决办法:
使用 var NAMESPACE=’blackbirdLog’ 重新设置blackbird的全局变量,那么调用方法应为:blackbirdLog.debug(message);
取消blackbird日志:
在正式环境中,需要取消blackbird日志显示,不可能在页面中一一把每个blackbird引用都删除掉。那么就需要修改blackbird.js:
var log = {
toggle: function() {},
move: function() {},
resize: function() {},
clear: function() {},
debug: function() {},
info: function() {},
warn: function() {},
error: function() {},
profile: function() {}
};
示例下载如下: