日志文件持续增长,磁盘空间告急?别急着手动删除,利用Node.js内置的zlib模块即可高效完成日志压缩。以下通过一个简单示例,带你完整掌握Node.js日志压缩的流程。

环境准备——确保你的系统已安装Node.js。若未安装,请前往Node.js官网下载稳定版,安装过程非常简单,此处不再赘述。
编写压缩脚本。新建一个文件,例如命名为
compressLogFile.js,将以下代码粘贴进去:const fs = require('fs'); const zlib = require('zlib'); // 压缩日志文件 function compressLogFile(logFileName) { const gzip = zlib.createGzip(); const input = fs.createReadStream(logFileName); const output = fs.createWriteStream(`${logFileName}.gz`); input.pipe(gzip).pipe(output); } // 示例:压缩名为 'app.log' 的日志文件 compressLogFile('app.log');执行脚本。打开终端,切换到脚本所在目录,运行:
node compressLogFile.js几秒后,你会看到同目录下生成了
app.log.gz文件,原始日志文件已成功压缩。
注意:在生产环境中,日志文件通常按日期轮转,文件名不固定。你可以根据实际业务需求灵活调整,例如添加时间戳、批量处理多个文件,或将压缩逻辑集成到日志轮转工具中。该代码非常轻量,稍加修改即可适应多种场景,是Node.js日志压缩的实用方案。
