fs writefile新行无效

时间:2015-05-17 04:54:57

标签: javascript node.js

我想要记录我的用户命令

function saveLog (nick, command) {
    var file = 'log/' + nick + '.log';
    var datetime = '[' + getDateTime() + '] ';
    var text = datetime + command + '\r\n';
    fs.writeFile(file, text, function (err) {
        if (err) return console.log(err);
        console.log(text);
    });
}

我做的功能很好,但是 它没有在新行中保存日志,它只是替换文本/重写文件。 我什么都不见了?

谢谢

1 个答案:

答案 0 :(得分:12)

fs.writeFile写一个WHOLE NEW文件。您正在寻找的是fs.appendFile,如果该文件不存在并附加到该文件中,它将生成该文件。文档here

function saveLog (nick, command) {
    var file = 'log/' + nick + '.log';
    var datetime = '[' + getDateTime() + '] ';
    var text = datetime + command + '\r\n';
    fs.appendFile(file, text, function (err) {
        if (err) return console.log(err);
        console.log('successfully appended "' + text + '"');
    });
}