如何实现前端日志分级过滤,避免生产环境输出冗余信息?
现在在做监控优化时发现,开发阶段用了很多console.log和console.warn,但生产环境跑起来后日志量太大影响性能。尝试用process.env.NODE_ENV做条件判断包裹日志:
if (process.env.NODE_ENV !== 'production') {
console.log('Debug:', data);
}
但有些地方忘记加判断,而且error级别的日志也需要保留。现在想统一管理日志级别,比如设置DEBUG/INFO/WARNING/ERROR,生产环境只保留ERROR。试过用winston这种库但和前端框架不太兼容,有没有轻量级方案?或者如何用原生JS实现分级过滤?
然后项目里直接 import logger from './utils/logger',该打日志就打,不用每次写 if 判断。上线自动过滤掉低级别日志,应该没问题。