日志記錄組件:log4web.js
簡介
基于瀏覽器端的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,可自行修改相關代碼。