我正在尝试使用以下逻辑将日志追加到我的日志文件中
fs.open('message.txt', 'a', (err, fd) => {
if (err) throw err;
fs.appendFile(fd, 'data to append', 'utf8', (err) => {
fs.close(fd, (err) => {
if (err) throw err;
});
if (err) throw err;
});
});
它不起作用,并且在我写日志时文件描述符不断增加。
我还尝试了下面的另一种方法。
const fs = require('fs');
let writeStream = fs.createWriteStream('secret.txt');
// write some data with a base64 encoding
writeStream.write('aef35ghhjdk74hja83ksnfjk888sfsf', 'base64');
// the finish event is emitted when all data has been flushed from the stream
writeStream.on('finish', () => {
console.log('wrote all data to file');
});
// close the stream
writeStream.end();
这个也不起作用,文件描述符数不断增加,最终抛出错误,达到文件最大限制。
kernel: VFS: file-max limit 4096 reached
有什么主意,如何在关闭文件描述符的情况下简单地将数据追加到文件中?