前端日志框架之如何在开发阶段打印日志信息,而在生产环境中不打印日志信息?
程序员文章站
2022-06-24 11:33:55
【背景】
前台开发过程中,为了便于调试,通常会使用console.log在控制台打印输出。最理想的状态是开发人员能够在恰当的地方使用console.log,而现实情况却是我们过于...
【背景】
前台开发过程中,为了便于调试,通常会使用console.log在控制台打印输出。最理想的状态是开发人员能够在恰当的地方使用console.log,而现实情况却是我们过于依赖这一功能,导致该调用遍及代码各处。
console.log的过度使用也会让开发人员会面临一定的风险。因为console.log所使用的对象并不能被垃圾回收器回收,很容易影响应用的性能,甚至会诱发内存泄漏。所以在生产环境的代码中一般是严禁出现console.log的。
【问题】
如何在开发阶段打印日志信息,而在生产环境中不打印日志信息?
【解决方法1】
代码部署到生产环境前,使用文本替换功能,将console.log替换为//console.log。
优点:非常简单,无需掌握额外的知识点;
缺点:当项目本身较大,且处于反复迭代阶段时,可能会面临从非注释到注释、又从注释到非注释的往复替换,效率低下。
【解决方法2】使用开源的日志框架log4javascript.js
优点:和log4j使用一套API,学习成本低。并且通过简单配置就可以实现日志功能的全局使能与去使能。
缺点:再简单的技术也是有学习成本的。