log4web.js-- 基于瀏覽器端的 console 的日志記錄組件

uc4284 7年前發布 | 11K 次閱讀 瀏覽器 前端技術

log4web

簡介

基于瀏覽器端的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,可自行修改相關代碼。

 

 

 

 本文由用戶 uc4284 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!