log4web.js-- 基于瀏覽器端的 console 的日志記錄組件
log4web
簡介
基于瀏覽器端的console的日志記錄組件。支持如下特性:
- 日志級別設置;
- 異常提交到服務器;
- 提交環境信息;
- 日志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,主要包含如下信息:
- browser.瀏覽器描述信息。返回字符串,格式:" Chrome,39.0.2171.95",逗號前表示瀏覽器類型,逗號后表示瀏覽器版號.
- os.操作系統字符串。
- flash.返回字符串,格式:"1,15",逗號分隔,第一個表示是否安裝flash,1:是,0:否。15:表示flash版本.
- referrer.document.referrer信息.
- url.當前頁面的url.
- resolution.屏幕分辨率信息.返回格式:"1920*1080",(window.screen對象獲取).
- name.異常名稱。
- message.異常message。
- 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,可自行修改相關代碼。