Ich habe versucht, ein Programm zu erstellen, das Protokolle von einem Slack-Team speichert. Ich habe die meisten Dinge funktioniert, aber bisher konnte fs.appendFile()
erfolgreich nicht verwendet werden, da die Dokumentation behauptet, es wird die Datei erstellen, wenn es nicht existiert (und nicht fs.exists()
oder fs.access()
vorher zu verwenden), aber ich bekomme ein ENOENT-Fehler.Datei kann nicht mit Node.js erstellt werden fs.appendFile
Dies ist meine Funktion:
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
wahr ist)
Die err
Variable dieses Ergebnis hat:
{ Error: ENOENT: no such file or directory, open 'D:\path\in\settings\Direct Message\username.log'
at Error (native)
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path: 'D:\\path\\in\\settings\\Direct Message\\username.log' }
Sie müssen zuerst Zielverzeichnis erstellen. –