项目开发时,控制台往往有许多忘记删除或注释掉的输出日志。但是上线后总不能一个一个删吧,最近总结出几个解决思路

  重写console.log方法,使其失去 输出能力

这个最直接有效,用vue框架的话放在main.js中或者index.html中即可。多页面的话可以放在一个全局js中。缺点:有时候捕获的错误是想打印出来的,结果也被屏蔽了。

console.log = function () {};

  改进版

var log = console.log; // 不屏蔽
var log1 = function () {}; // 屏蔽
console.log = function () {
if(arguments[0] instanceof Error){
log(...arguments);
}else{
log1(...arguments);
}
}

  后面的开发可以考虑下面的设计。

开发的时候,先将console.log赋值给log变量,后面使用的时候用log输出,上线的时候只需要将log函数改写成一个空函数就可以了。而上线后像仍需要打印的用console.log输出。这样就可以有选择的屏蔽和输出了

var log = console.log; // 平时开发用这个,写法简单,上线时替换成下一行就屏蔽掉了
// var log = function () {}; // 上线时改成这个屏蔽输出 // 例如:
log("暂时打印使用这个函数,写法简单,后期还能屏蔽掉,妈妈再也不怕忘了删除打印日志了");
console.log("不想屏蔽的输出,例如捕获的错误等");

  

快速删除项目中的输出日志console.log的更多相关文章

  1. 如何查看MapReduce执行的程序中的输出日志

    我们开发程序的时候,好多人都喜欢用sysout输出内容来查看运行情况.但是在MR程序里写了之后,却不知道去哪里查找,可以参考这篇文章. 第一种方法,我们可以在MapReduce任务查看页面找到这些日志 ...

  2. javascript 控制台输出 图片 console.log 真强大 真佩服你们的创造力

    无意中,在百度知道页面发现了这货.居然能输出图片到控制台. 完全颠覆自己的三观,果断查阅其输出方法.后得知,原来如此. 曾经做过的项目中,同事把控制台做成一个网页形式方便远程控制和远程调用.没想到过这 ...

  3. 在浏览器控制台输出内容 console.log(string);

    在浏览器控制台中写如数据 1添加    <script type="text/javascript">djConfig = { isDebug: true };< ...

  4. JavaScript中的alert()与console.log()的区别

    1.alert() [1.1]有阻塞作用,不点击确定,后续代码无法继续执行 [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法 e.g. ale ...

  5. Javascript 将 console.log 日志打印到 html 页面中

    如何将 console.log() 打印的日志输出到 html 页面中 (function () { var old = console.log; var logger = document.getE ...

  6. Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...

  7. ASP.NET Core 集成测试中通过 Serilog 向控制台输出日志

    日志是程序员的雷达,不仅在生产环境中需要,在集成测试环境中也需要,可以在持续集成失败后帮助定位问题.与生产环境不同,在集成测试环境中使用控制台输出日志更方便,这样可以通过持续集成 runner 执行 ...

  8. console.log()方法中%s的作用

    一.console.log("log信息"); 二.console.log("%s","first","second") ...

  9. JavaScript调试技巧之console.log()详解

    JavaScript调试技巧之console.log()详解 对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会阻 ...

随机推荐

  1. 用惯了jquery, 想用angularjs 还真不好理解

    jquery 比较直白,什么都是操作dom 节点. angularjs 就好比 thinkphp, ci 等框架,有自己约定的格式和方式.需要遵循它的规则,研究中... 比如说我,用了很长事件的jqu ...

  2. curl下载安装与使用

    下载: https://curl.haxx.se/download.html 安装: 二进制安装.即解压即可. 使用 1.获取页面内容. 不加任何参数时,默认会发送GET请求来获取url内容到标准输出 ...

  3. 通过游戏学python 3.6 第一季 第五章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆 可复制直接使用 娱乐 可封装 函数

    #猜数字--核心代码--猜测次数--随机函数和屏蔽错误代码---优化代码及注释--账号密码登陆 #!usr/bin/env python #-*-coding:utf-8-*- #QQ12411129 ...

  4. 图像Ping技术

    在CORS出现以前,要实现跨域Ajax通信颇费一些周折.开发人员想出了一些办法,利用DOM中能够执行跨域清求的功能,在不依赖XHR对象的情况下也能发送某种请求.虽然CORS技术已经无处不在,但开发人员 ...

  5. Hackerrank--XOR love (Math系列)

    题目链接 Devendra loves the XOR operation very much which is denoted by ∧ sign in most of the programmin ...

  6. 架构 - 业务流程管理介绍(BPM)

    什么是业务流程 维基百科中说,业务流程是为特定的对象(客户)创造价值的过程,这一过程由一系列相关联.有组织的活动或任务组成.企业和组织中的流程常常划分为三种基本类型: 管理流程——对系统运作进行管制. ...

  7. CF1067E Random Forest Rank

    CF1067E Random Forest Rank 可以证明: 一个树的邻接矩阵的秩,等于最大匹配数*2(虽然我只能证明下界是最大匹配) 而树的最大匹配可以贪心, 不妨用DP模拟这个过程 f[x][ ...

  8. 2017年浙工大迎新赛热身赛 J Forever97与寄信 【数论/素数/Codeforces Round #382 (Div. 2) D. Taxes】

    时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld 题目描述 Forever97与未央是一对笔友,他们经常互 ...

  9. OpenCV灰度化图像

    OpenCV2版本号非常多函数发生了变化.比如二值化,其演示样例: void CmyMFC2Dlg::OnBnClickedButton1() { // TODO: Add your control ...

  10. C++ 浮点数 为 0 的判断