我一直在尝试创建一个程序来保存来自Slack团队的日志。我有大部分工作,但迄今为止无法成功使用fs.appendFile()
,因为文档声称如果文件不存在它将创建文件(并且不使用fs.exists()
或{{1预先检查),但我收到一个ENOENT错误。
这是我的功能:
fs.access()
(var storeLog = function (username, type, channelName, message) {
var pathArr = [loggingDir, type, channelName];
var path = pathArr.join("/") + ".log";
var fullMessage = username + ": " + message;
fs.appendFile(path, fullMessage + "\r\n", function (err) {
if (err && globalSettings.debugMode) {
console.error("Error saving log:\n", err);
}
else if (globalSettings.debugMode) {
console.info("Appended to " + path);
console.info(fullMessage);
}
});
};
为真)
globalSettings.debugMode
变量有以下结果:
err
答案 0 :(得分:2)
fs.appendFile()
要求您创建将在其中创建文件的目录(如果该文件不存在)。它不会为你创建目录。
fs.createWriteStream()
也可以使用a
标志。