文件句柄和日志logging在节点JS

我有一个应用程序,将在任何时候使用应用程序将数据logging到文本文件。 它可能每天使用一次,或者每秒使用一次。

打开文本文件的句柄,并保持打开,只要我的应用程序正在运行,并永不closures,是否有什么问题? 这样我就可以将数据附加到日志而不用重新打开文件句柄。 对于我应该注意的这个决定会有什么后果吗?

我们有内置模块fn http://nodejs.org/api/fs.html和许多开放源代码模块(npm, https: //www.npmjs.org/)。

您可以使用winstonhttps://www.npmjs.org/package/winston )进行日志logging

fs.open返回一个文件描述符,如果你不closures连接,可能会导致文件描述符泄漏。 即使有错误,文件描述符也不会被closures。

另一方面, fs.readFilefs.writeFilefs.appendFilefs.createReadStreamfs.createWriteStream不返回文件描述符。 他们打开文件,对其进行操作,然后closures文件。