node.js - 有很多console.log()可以吗?

标签 node.js logging

我希望我的应用程序有一个“调试”模式,可以将发生的所有事情打印到控制台,但是进行许多 console.log 调用有点污染我的源代码,所以拥有这样的 Debug模式是一个好习惯吗?

例如:

function doSomething() {
    // ...
    console.log("Did something");
}

我确实需要这种 Debug模式,因为我的函数是根据事件调用的,很难跟踪正在发生的情况,而且有很多可能的情况。

最佳答案

两个问题:

  1. 您的日志记录是否会以某种方式“污染”您的源代码?如果日志记录可以帮助您 future 的自己或其他人理解您的代码,则不会。 (当然,不要让您的日志记录产生副作用:否 console.log(variable++ )
  2. 控制台日志记录对于投入生产的程序有好处吗?不,不是真的。您应该考虑采用日志记录包。

我喜欢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/

相关文章:

node.js - 如何在测试期间提高 puppeteer 启动性能

javascript - 如何在 node-red node exec 中运行命令以启用 LCD 脚本

javascript - AngularJS 和 Node.js Express - $http.get 成功 block 未被调用

logging - NGINX 错误日志格式文档

ruby - 带有 grep 远程日志文件的 tail

javascript - 如何检测和删除 JavaScript 中的无效 unicode 序列

node.js - 如何使用puppeteer获取下载流(缓冲区)?

使用 cron 作业时 Python os.path.join() 未正确加入

java - 无法关闭/限制 ApacheDS 类之一的日志记录

php - 更改 PHP 错误日志文件的位置