log4javascript
1.1.快速入门
所周知 log4j的日志系统很好用 但是那是java的 于是有人推出了js的日志系统 log4javascript 使用起来也相当的简单,下载地址
https://sourceforge.net/projects/log4javascript/files/latest/download |
引入js文件
<script type="text/javascript" src="js\log4javascript-1.4.6\js\log4javascript.js"></script> |
快速入门案例
<script type="text/javascript"> var log = log4javascript.getDefaultLogger(); //因为log4javaScript不能准确定位,这里以title为标志用于定位页面 便于搜索 var pageName=document.title; log.trace(pageName,"我在这里加入了trace信息"); log.debug(pageName,"我在这里加入了debug信息"); log.info(pageName,"我在这里加入了info信息"); log.warn(pageName,"我在这里加入了warn信息"); log.error(pageName,"我在这里加入了error信息"); log.fatal(pageName,"我在这里加入了fatal信息"); </script> |
页面显示如下
|
关闭日志
var log4javascript_disabled = true; |
1.2.使用步骤
1.获取一个logger
使用log4javascript的静态方法getLogger(String name)来获取一个带名称的日志对象,或是使用getDefaultLogger()来获取一个默认的使用弹出窗口作为日志输出的appender;
2.设置一个appender
我们可以对同一个logger设置多个appender,这和log4j是一样的。我们在使用getLogger(String name)获取一个logger后,必须给他设置一个appender才可以,否则所有的调试信息都是看不到的。像我们上面就是直接new了一个弹出窗口的appender的new log4javascript.PopUpAppender();当然为了方便,你也可以直接使用getDefaultLogger()了;
var logger = log4javascript.getLogger('test'); var popUpAppender = new log4javascript.PopUpAppender(); logger.addAppender(popUpAppender); |
3.设置layout的格式
var appender = new log4javascript.InPageAppender(); appender.layout.pattern = '%d{yyyy-MM-dd HH:mm:ss,SSS} [%c] %-5p - %m{1}%n'; logger.addAppender(appender); |
4.打印调试信息
然后我们就可以使用获取的logger来调试了。我们可以使用上面提到的所有方法,比如info(String msg)、debug(String msg)、warn(String msg)等等,另外还有一个trace(String msg),不过这个方法只有在FF下有效果,可以打印轨迹信息,在IE下是无效的!
1.3.定义服务类
1.定义log4js服务类,用于初始化log4javascript相关参数
log4jsService.js
//启用javascript 日志功能 var logger = log4javascript.getLogger("main"); log4javascript.setEnabled(true);
var appender = new log4javascript.InPageAppender(); appender.layout.pattern = '%d{yyyy-MM-dd HH:mm:ss,SSS} [%c] %-5p - %m{1}%n'; logger.addAppender(appender);
//点击Ctrl键时显示/隐藏日志控制台 document.onkeydown = function (evt) { var VK_F9 = 120; //兼容IE和Firefox获得keyBoardEvent对象 var evt = (evt) ? evt : ((window.event) ? window.event : ""); //兼容IE和Firefox获得keyBoardEvent对象的键值 var key = evt.keyCode ? evt.keyCode : evt.which;
if (evt.ctrlKey) { if (appender.visible) { appender.hide(); appender.visible = false; log4javascript.setEnabled(false); } else { log4javascript.setEnabled(true); appender.show(); appender.visible = true; } } }; |
2.引入log4javascript.js和log4js
<script src="js/log4javascript-1.4.2/log4javascript.js"></script> <script src="js/common/log4jsService.js"></script> |
3.记录日志
<input id="Button1" type="button" value="button" /> |
$(function () { $("#Button1").click(function () { logger.debug("This is a debugging message from the log4javascript in-page page"); logger.info("info info"); logger.error("error info"); }); }); |
4.显示日志
|