我希望我的应用程序有一个“调试”模式,可以将发生的所有事情打印到控制台,但是进行许多 console.log 调用有点污染我的源代码,所以拥有这样的 Debug模式是一个好习惯吗?
例如:
function doSomething() {
// ...
console.log("Did something");
}
我确实需要这种 Debug模式,因为我的函数是根据事件调用的,很难跟踪正在发生的情况,而且有很多可能的情况。
最佳答案
两个问题:
- 您的日志记录是否会以某种方式“污染”您的源代码?如果日志记录可以帮助您 future 的自己或其他人理解您的代码,则不会。 (当然,不要让您的日志记录产生副作用:否
console.log(variable++ )
- 控制台日志记录对于投入生产的程序有好处吗?不,不是真的。您应该考虑采用日志记录包。
我喜欢Winston 。还有很多其他的好包;希望这些粉丝能写下自己的答案。
它允许您将日志条目发送到文件、*nix 机器的 syslog
子系统或 Windows 事件或其他地方,以及其他地方。如果需要的话,它会为它们添加时间戳,并识别它们来自哪个程序。您的 console.log('current value', q)
操作变为 logger.info('current value', q)
和您的 console.error()
变为 logger.error()
。
对于一个长期存在的程序(从现在起几个月后仍将使用的程序),绝对值得您费力地爬上记录器学习曲线并建立一个可靠的记录系统。如果您的程序将作为较大系统的一部分运行,请询问某人系统的其他部分如何处理日志记录,并使用相同的方案。
关于node.js - 有很多console.log()可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56005047/