Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 控制台日志和错误是否在pm2中被垃圾收集?_Node.js_Pm2 - Fatal编程技术网

Node.js 控制台日志和错误是否在pm2中被垃圾收集?

Node.js 控制台日志和错误是否在pm2中被垃圾收集?,node.js,pm2,Node.js,Pm2,据我所知,日志不会在node.js中被垃圾收集,因此一个执行大量日志记录的应用程序可能会导致内存耗尽 pm2的记录设施是否改变了这一点? 也就是说,如果我在pm2下运行一个node.js脚本,抛出大量的console.log(消息),pm2是否会“拦截”它们,大概是将其从内存中释放并写入文件,还是只是观察stdout和stderr并将新行复制到各自的out/error.pm2/logs文件中?是,您就在pm2点,只需将stdout和stderr捕获到日志文件中。 但它也有一些控制日志的选项。 您

据我所知,日志不会在node.js中被垃圾收集,因此一个执行大量日志记录的应用程序可能会导致内存耗尽

pm2的记录设施是否改变了这一点?
也就是说,如果我在pm2下运行一个node.js脚本,抛出大量的console.log(消息),pm2是否会“拦截”它们,大概是将其从内存中释放并写入文件,还是只是观察stdout和stderr并将新行复制到各自的out/error.pm2/logs文件中?

是,您就在pm2点,只需将stdout和stderr捕获到日志文件中。 但它也有一些控制日志的选项。 您可以通过ecosystem.config.json禁用编写公共日志,如下所示:

/path/to/.pm2/logs/*.log {
        rotate 10
        weekly
        missingok
        notifempty
        compress
        delaycompress
        copytruncate
        create 0640 group user
}
{
“输出文件”:“/dev/null”,
“错误文件”:“/dev/null”
}
但不推荐这样做。 PM2还提供了通过该模块旋转日志的工具

另一种方法是将system logrotate与以下配置文件结合使用:

/path/to/.pm2/logs/*.log {
        rotate 10
        weekly
        missingok
        notifempty
        compress
        delaycompress
        copytruncate
        create 0640 group user
}
有关更多信息,请查看官方文件: