控制台日志会增加Node.js服务器上的内存吗?

时间:2019-01-15 17:48:35

标签: node.js v8

对于每个API请求,我在 NodeJs 服务器上都有一些重要的控制台日志,用于记录一些字符串和对象。

我们已经将这些日志的副本移至日志文件。

这些对象的控制台日志是否会增加每个请求的内存使用量,因为它们保存在控制台中,例如,如果我们有100万个请求。

例如

console.log('some data here', new Date())

2 个答案:

答案 0 :(得分:3)

是-由于Linux本质上console.log本身是同步的事实。

因此,如果将大量数据记录到标准输出中而又非常垃圾,则实际上会造成一些性能问题

[编辑]

这可能有助于解决生产应用程序需要在保持高性能的同时记录大量数据的问题

https://surfingthe.cloud/dont-fear-node-js-console-log

答案 1 :(得分:2)

console.log在内部调用util.formatWithOptions。格式化的字符串转到the output stream(例如,stdout,stderr)。 在格式化期间,会创建一些变量。

格式化的字符串是一个新变量,在该过程将其写入文件描述符之前,该变量一直被引用。

因此,是的,对于每个console.log调用,都会创建一些变量。内存增加取决于代码记录的次数和次数。