node.js - 永远的日志不断增长

标签 node.js azure logging npm forever

我运行 NPM 全局模块 Forever在我的 Node 服务器上(在 Azure 上)。总是工作得很好,让我的所有项目保持运行。

我的服务器上有 1 个项目可能存在问题或导致 Forever 不断输出到日志。有 2 个 Forever 日志会快速增长并达到巨大尺寸:

9.7Gb  /home/azureuser/.forever/P_lf.log
1.3Gb  /home/azureuser/.forever/IEJR.log

虽然我可能需要找出我的项目出了什么问题并修复它,但我还需要修复这个日志记录问题。我的研究表明我可能需要使用 logrotate 做一些事情来停止使用这么多的磁盘空间。

有什么想法吗?

最佳答案

有两个时刻:

  1. 您可以编辑您的应用以仅记录必要的内容和错误(可以捕获错误以防止它们发生),这样您的日志就会更小。

  2. 您可以设置 cron 作业每晚清理日志文件(假设每凌晨 03:00):

    0 3 * * * 截断-s 0/home/azureuser/.forever/*.log

    或奇数天(以便能够保留一天的日志用于调试目的):

    0 3 * * 1,3,5 截断 -s 0/home/azureuser/.forever/*.log

关于node.js - 永远的日志不断增长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36082560/

相关文章:

azure - 获取特定的Azure对象标签而不仅仅是资源组?

azure - 是否可以恢复被覆盖的 azure blob 存储文件?

php - 禁用部分页面php的警告和通知

spring - 如何使用 Spring Boot 使用外部 log4j.xml 配置文件?

javascript - new Date() 在错误的时区

javascript - 什么可能导致socket.io服务时间过长?

azure - FineUploader 到 Azure 存储

python - 在 django 1.3 中将动态元素添加到logging.filters

node.js - 循环和嵌套 Promise

javascript - 当类型不兼容时,如何使 Mongoose 查找查询返回 null 而不是抛出 CastError?