JS日志输出控制工具类——LOG

在实际的JS编码中,经常需要按指定类型的日志输出日志,便于根据日志信息排查问题,顺手就简单封装了一下。

 

有时需要输出所有日志,有时需要输出非debug日志,有时需要输出结果类的日志,有时需要输出告警类的日志,有时上线仅需要输出错误类的日志……

只要设置好log_level的输出日志等级,就可以仅输出指定类型的日志。

 

直接上代码:

/**
 * 日志等级
 */
var LOG_LEVEL = {
    /**
     * debug-调试级
     */
    DEBUG: 'debug',

    /**
     * info-信息级
     */
    INFO: 'info',

    /**
     * result-重要结果级
     */
    RESULT: 'result',

    /**
     * warn-告警级
     */
    WARN: 'warn',

    /**
     * error-错误级
     */
    ERROR: 'error',

    /**
     * none-不打印日志
     */
    NONE: 'none',
};

/**
 * 日志打印相关控制操作
 */
var LOG = {
    /**
     * 只执行debug级的日志输出(只控制callback的执行,不控制输出日志的类型)
     * @param {*} callback 
     */
    debug: function(callback) {
        if (BASE.logLevel == LOG_LEVEL.DEBUG) {
            if (BASE.isNotNull(callback)) {
                callback();
            }
        }
    },

    /**
     * 只执行info、debug级的日志输出(只控制callback的执行,不控制输出日志的类型)
     * @param {*} callback 
     */
    info: function(callback) {
        if (BASE.logLevel == LOG_LEVEL.INFO ||
            BASE.logLevel == LOG_LEVEL.DEBUG) {
            if (BASE.isNotNull(callback)) {
                callback();
            }
        }
    },

    /**
     * 只执行result、info、debug级的日志输出(只控制callback的执行,不控制输出日志的类型)
     * @param {*} callback 
     */
    result: function(callback) {
        if (BASE.logLevel == LOG_LEVEL.RESULT ||
            BASE.logLevel == LOG_LEVEL.INFO ||
            BASE.logLevel == LOG_LEVEL.DEBUG) {
            if (BASE.isNotNull(callback)) {
                callback();
            }
        }
    },

    /**
     * 只执行warn、result、info、debug级的日志输出(只控制callback的执行,不控制输出日志的类型)
     * @param {*} callback 
     */
    warn: function(callback) {
        if (BASE.logLevel == LOG_LEVEL.RESULT ||
            BASE.logLevel == LOG_LEVEL.WARN ||
            BASE.logLevel == LOG_LEVEL.INFO ||
            BASE.logLevel == LOG_LEVEL.DEBUG) {
            if (BASE.isNotNull(callback)) {
                callback();
            }
        }
    },

    /**
     * 只执行error、warn、result、info、debug级的日志输出(只控制callback的执行,不控制输出日志的类型)
     * @param {*} callback 
     */
    error: function(callback) {
        if (BASE.logLevel == LOG_LEVEL.ERROR ||
            BASE.logLevel == LOG_LEVEL.WARN ||
            BASE.logLevel == LOG_LEVEL.RESULT ||
            BASE.logLevel == LOG_LEVEL.INFO ||
            BASE.logLevel == LOG_LEVEL.DEBUG) {
            if (BASE.isNotNull(callback)) {
                callback();
            }
        }
    },
};

 

如何使用呢?


// 打印日志相关
// 设置日志级别
BASE.setLogLevel(BASE.LOG_LEVEL.INFO);


// 此日志不会输出(当BASE.setLogLevel(BASE.LOG_LEVEL.DEBUG);时会输出)
BASE.LOG.debug(()=>{
    console.log('>> 打印debug日志');
});

// 此日志会输出
BASE.LOG.info(()=>{
    console.log('>> 打印info日志');
});

// 此日志会输出
BASE.LOG.result(()=>{
    console.log('>> 打印result日志');
});

// 此日志会输出
BASE.LOG.warn(()=>{
    console.warn('>> 打印warn日志');
});

// 此日志会输出
BASE.LOG.error(()=>{
    console.error('>> 打印error日志');
});

 

具体使用,请看阅本文涉及到的本人写的另一工具类——BASE工具类:JS基础工具类——BASE

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值