以下是思路,可以在代码自行判断在什么端什么环境是否打印日志。
使用npm的插件也能实现相同功能。
微信小程序提供了console向调试面板中打印日志。console 是一个全局对象,可以直接访问。在微信客户端中,向 vConsole 中输出日志。提供了以下方法:
console.debug()
向调试面板中打印 debug 日志console.log()
向调试面板中打印 log 日志console.info()
向调试面板中打印 info 日志console.warn()
向调试面板中打印 warn 日志console.error()
向调试面板中打印 error 日志console.group(string label)
在调试面板中创建一个新的分组。随后输出的内容都会被添加一个缩进,表示该内容属于当前分组。调用 console.groupEnd之后分组结束。console.groupEnd()
结束由 console.group 创建的分组
通过对微信console分析,只需要console提供的方法进行二次封装,即可控制console打印状态。
示例代码如下:
var isDebug = true;function debug(status = true) {isDebug = status;
}function log(message, ...optionalParams) {if(isDebug) {console.log(message, ...optionalParams)}
}function i(message, ...optionalParams) {if(isDebug) {console.info(message, ...optionalParams);}
}function d(message, ...optionalParams) {if(isDebug) {console.debug(message, ...optionalParams)}
}function w(message, ...optionalParams) {if (isDebug) {console.warn(message, ...optionalParams)}
}function e(message, ...optionalParams) {if(isDebug) {console.error(message, optionalParams);}
}export default {log,i,d,w,e,debug
}
PS:通过isDebug判断是否开启打印日志模式
logger.debug(); //默认开启
logger.debug(false); //关闭logger.i() //调用console.info
logger.e() //调用console.error
logger.w() //调用console.warn
logger.d() //调用console.debug
logger.log() //调用console.log