开发过程中日志打印都是必不可少的一个环节,特别是前端调试时,往往通过打印日志的方式来定位可能出现的问题。然而,选择了日志打印,必然也就给自己带来了后续清除日志打印语句的烦恼。
微信小程序提供了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
写在最后的话,所有的自定义都只是依个人的需求所写,并非必需。
版权声明:本文为FRF65原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。