欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

前端日志框架之如何在开发阶段打印日志信息,而在生产环境中不打印日志信息?

程序员文章站 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,学习成本低。并且通过简单配置就可以实现日志功能的全局使能与去使能。

缺点:再简单的技术也是有学习成本的。