已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。
7天前关闭
Improve this question
我正试图找出如何使express.logger函数将其日志写入gzip文件而不是未压缩的文本。我尝试了以下代码:
var logarchive = zlib.createGzip();
var logfile = fs.createWriteStream('./logs/access.log.gz');
logarchive.pipe(logfile);
app.use(express.logger({
format: env.get("logformat", "short"),
stream: logarchive
}));
但这似乎只是建立了一个非法的gzip存档,报告了184Mb的数据,尽管它在日志操作期间只发送了几个字节。
怎样才是正确的连接方式?关于Nodejs.orgzlib和streams的www.example.com API文档没有给予任何具体的例子来说明如何通过zlib将数据发送到另一个写流,并且记录器只将流作为目标。
1条答案
按热度按时间gj3fmq9x1#
我认为您的代码应该可以工作,但是
zlib
在缓冲数据方面非常出色,因此在将日志刷新到文件之前可能需要一些时间。您可以定期手动刷新: