日志记录组件 log4web.js

MIT
JavaScript
跨平台
2014-12-30
houyhea

简介

基于浏览器端的console的日志记录组件。支持如下特性:

  1. 日志级别设置;

  2. 异常提交到服务器;

  3. 提交环境信息;

  4. 日志Tag过滤器;

如何使用

浏览器下的引用

<script src="log4web.js"></script><script>
    log4web.log("houyhea");
    log4web.error(new Error("houyhea"));</script>

requirejs下的引用

require.config({
    paths: {        "log4web": "path/to/log4web",
    }
});
define(["log4web"], function (log4web) {
    log4ewb.log("houyhea");
    log4web.error(new Error("houyhea"));
});

API说明

config(config)

对日志组件进行配置。如果不传参数,则返回当前日志组件的配置信息。 配置项主要有:

debug

是否开启调试模式。如果开启调试模式,则可以在console中输入window.log4web进行调试.默认值:0.

level

日志级别,error(4)、warn(3)、info(2)、log(1)、debug(0),级别越高,输出的日志越少。比如:当前级别如果是warn,则只输出error、warn的日志.默认值:debug; 代码示例

var Level = {        "error": 4,        "warn": 3,        "info": 2,        "log": 1,        "debug": 0
    };

tagFilter

日志tag筛选,正则表达式字符串.使用者可以通过在console控制台通过log4web.config({tagFilter:"usersmodule"})配置值输出"usersmodule"tag的日志。默认值:"".

log4web.config({tagFilter:"usersmodule"});

post

当发生异常是是否post到服务器。此处只有当msg参数是Error对象时,才判断是否有提交到服务器.默认值:0.

postContextInfo

是否提交环境数据.默认值:1

postUrl

异常信息提交的服务器地址.默认值:"/api/exception"。 代码示例:

log4web.config({
            debug: 0,
            level: "debug",
            tagFilter: "",
            post: 0,
            postContextInfo: 1,
            postUrl: "/api/exception"
        });

这里单独说一下postData,主要包含如下信息:

  1. browser.浏览器描述信息。返回字符串,格式:" Chrome,39.0.2171.95",逗号前表示浏览器类型,逗号后表示浏览器版号.

  2. os.操作系统字符串。

  3. flash.返回字符串,格式:"1,15",逗号分隔,第一个表示是否安装flash,1:是,0:否。15:表示flash版本.

  4. referrer.document.referrer信息.

  5. url.当前页面的url.

  6. resolution.屏幕分辨率信息.返回格式:"1920*1080",(window.screen对象获取).

  7. name.异常名称。

  8. message.异常message。

  9. stack.异常调用堆栈字符串。

log(msg,tag)

msg

日志消息。可以是字符串或Error对象。

tag

用于过滤器,可为空。 调用示例:

log4web.log("log info.","usersmodule");
log4web.log("log info.");

info(msg,tag)

msg

日志消息。可以是字符串或Error对象。

tag

用于过滤器,可为空。

debug(msg,tag)

msg

日志消息。可以是字符串或Error对象。

tag

用于过滤器,可为空。

warn(msg,tag)

msg

日志消息。可以是字符串或Error对象。

tag

用于过滤器,可为空。

error(msg,tag)

msg

日志消息。可以是字符串或Error对象。

tag

用于过滤器,可为空。

测试用例

参见

浏览器兼容性

兼容IE8+,chrome,firefox。

依赖

需要依赖jquery库,post数据用到了jquery.post方法。如果不想依赖jquery,可自行修改相关代码。

加载中

评论(1)

s
so_fast
不错,可以解决JS日志的问题

暂无资讯

暂无问答

【书单】JS书单汇总:怀念2013

  从2011年11月到现在,大抵接近两年的时间。对JS的了解,不敢说有多深,不过大都得益于下列书籍。大部分看过,小部分只是翻翻。2014年打算把这些书挑一些出来回顾回顾,然后研究下新的东西...

2014/01/24 00:37
469
2
《深入理解JavaScript系列》

《深入理解JavaScript系列》系列技术文章整理收藏

2015/06/23 15:08
60
0
javascript学习资料分享

有志于web前端工作的话,javascript的知识是必不可少的。越学,我越觉得自己所欠缺的越多。路漫漫其修远兮,吾将上下而求索。下面将一些好的资料分享给大家。 JavaScript学习资料: (1)遇见...

2012/04/06 11:37
3.3K
7
解决一个html 或jsp 引入多个不同版本的jquery 解决方案

解决一个html 或jsp 引入多个不同版本的jquery 解决方案

2017/11/02 12:25
79
0
分享一些前端开发中最常用的JS代码片段

逛社区时看到的文章,我修改调整了内容,如果大家觉得也有帮助 可以收藏下~ HTML5 DOM 选择器 javascript 代码 JavaScript运行复制全屏 1 // querySelector() 返回匹配到的第一个元素 2 var ...

02/27 21:21
54
0
Impatient JavaScript 中文版校对活动期待大家的参与

贡献指南:https://github.com/apachecn/impatient-js-zh/blob/master/CONTRIBUTING.md 整体进度:https://github.com/apachecn/impatient-js-zh/issues/1 项目仓库:https://github.com/ap...

06/17 10:32
5
0
a标签中调用javascript方法的几种方法:

我们常用的在a标签中有点击事件: 1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的...

2013/12/01 00:20
67
0
asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿;所以一般有良好开发习惯的程序员都会...

2012/11/04 21:28
970
0
JavaScript八张思维导图

目录 JS基本概念 JS操作符 JS基本语句 JS数组用法 Date用法 JS字符串用法 JS编程风格 JS编程实践 不知不觉做前端已经五年多了,无论是从最初的jQuery还是现在火热的Angular,Vue,React等前端...

04/19 12:54
82
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部