使用log4javascript来做日志记录

   近年来由于AJAX的异军突起,使得JS一度再成为人们的话题。从此以后,JS不再是仅仅是页面上玩小把戏的脚本,而是成长为一个真正的强大的页面编程工具。AJAX框架如dojo、prototype、script.aculo.us等都迅速的成长起来,而个人在JS编程上也越来越多的投入了精力。然而随着JS的急剧增加,使得以前的调试变得困难,以前简短的程序都可以直接使用alert来调试,这样问题不会有什么,但是JS程序大了之后,动辄几百上千行的程序,alert已经不能胜任调试的重担了,所以很多js调试工具也都冒出来。当然,有人可能要说使用firefox上的firedug和venkman等调试工具多好啊,可是至今我都还没怎么太了解这两个工具,我相信和我有同感的人大有人在。而我今天给大家介绍的JS编写的调试工具log4javascript的作者也有这样的感觉,呵呵~~~~下面我就来给大家介绍一下非常不错的一款JS调试工具log4javascript!

    看到这个名字是不是很熟悉啊?呵呵,相信大家都使用过logging系列的日志记录工具了,无论是在java,还是.net或是C#中,都有这样的系列工具。而我们今天的这个log4javascript工具,和我们平常使用的log4j(以logging系列中的log4j为例子)非常的相似,调用过程和使用也是极其的一致,而且使用上也是非常的简单,下面就来说说如何在JS中调用log4javascript做调试!

    首先要到http://log4javascript.sourceforge.net/下载log4javascript的最新版本。下载解压后,我们发现其实只有两个主要的JS文件,一个是log4javascript.js,另外一个就是log4javascript_stub.js。我们在调试的时候,用到的都是前一个JS,而且压缩包中还有很多例子程序和快速上手文档,可以说使用是非常的简单和方便。我们来编写一个简单的测试页面:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>log4javascript 测试</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<script src="./log4javascript.js" language="javascript"></script>
<script language="javascript">
<!--
function mytest()
{
 var logger = log4javascript.getLogger('test');
 alert(log4javascript.isEnabled());
 var popUpAppender = new log4javascript.PopUpAppender();
 logger.addAppender(popUpAppender);
 logger.debug('你好啊,log4jjavascript!');
 logger.info('你好啊,log4jjavascript!');
 logger.warn('你好啊,log4jjavascript!');
 logger.error('你好啊,log4jjavascript!');
 logger.fatal('你好啊,log4jjavascript!');
}
-->
</script>
</head>
<body>
<br>
<input type="button" value="测 试" onclick="mytest();" />
</body>
</html>

    将该文件放在和log4javascript.js同一个目录即可,然后运行就可以看到效果了~~~我们这里是使用弹出窗口来做调试界面,当然也可以使用页面内页来做调试。使用log4javascript非常简单,其步骤如下:

1.获取一个logger
    使用log4javascript的静态方法getLogger(String name)来获取一个带名称的日志对象,或是使用getDefaultLogger()来获取一个默认的使用弹出窗口作为日志输出的appender;

2.设置一个appender
    我们可以对同一个logger设置多个appender,这和log4j是一样的。我们在使用getLogger(String name)获取一个logger后,必须给他设置一个appender才可以,否则所有的调试信息都是看不到的。像我们上面就是直接new了一个弹出窗口的appender的new log4javascript.PopUpAppender();当然为了方便,你也可以直接使用getDefaultLogger()了;

3.打印调试信息
    然后我们就可以使用获取的logger来调试了。我们可以使用上面提到的所有方法,比如info(String msg)、debug(String msg)、warn(String msg)等等,另外还有一个trace(String msg),不过这个方法只有在FF下有效果,可以打印轨迹信息,在IE下是无效的!

    可以看到,简单的几行我们就可以使用它来做功能强大的调试了,而且它还有几种appender,比如AjaxAppender,这个可以向服务器异步发送调试信息呢,这样程序有问题的时候我们就可以随时记录其错误信息了,不错吧~~对appender,和log4j一样,我们还可以使用PatternLayout来格式化我们要输出的内容,非常方便和强大,对于日期的输出格式,和JAVA中的格式化是完全一样的呢(这是作者说的,我没有完整测试过)。

    相信大家看了后,应该都会蠢蠢欲动了吧,呵,这个工具在我们做富客户端程序开发时,作为调试工具是非常有用的。更多的功能就等待大家自己去发现吧,记得大家要分享哦~~~ 微笑 

posted @ 2012-03-03 23:43  weep  阅读(3076)  评论(0)    收藏  举报