javascript - ENOENT 为 'a+' 模式

标签 javascript node.js

var date = new Date();
var logPath = __dirname + '/log/transcript.' + date.getUTCHours() + ':' + date.getUTCMinutes() + ':' + date.getUTCSeconds() + '.' + date.getUTCDate() + '-' + date.getUTCMonth() + '-' + date.getUTCFullYear() + '.log';

var logger = {
    deglog: function (degree, value) {
        var now = new Date().toUTCString();

        stream = fs.createWriteStream(logPath, {
            'flags': 'a+',
            'encoding': 'utf8'
        });

        stream.write(now + ' ');
        stream.write(degree + ': ');
        stream.write(value + '\n');

        stream.end();
    },
    log: function (value) {
        this.deglog('INFO', value);
    },
    warning: function (value) {
        this.deglog('WARN', value);
    },
    error: function (value) {
        this.deglog('ERROR', value);
    }
}

如果文件不存在,上面的代码片段应该创建一个文件,但我收到 ENOENT 错误。谁能给我解释一下这个问题吗?

最佳答案

该错误与使用标志无关,只是文件名中包含非法字符。摆脱它们,它就会正常工作。

transcript.6:25:16.13-9-2013.log
            │  │
            └──└── illegal characters

关于javascript - ENOENT 为 'a+' 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19342542/

相关文章:

javascript - 当javascript返回true时如何重定向页面?

javascript - 在不知道任何键的情况下遍历整个 JSON 对象

javascript - jQuery .trigger() 多个事件

node.js - 如何优化 Promise 以避免回调/Promise hell

node.js - 如何在 Nodejs 中为 Winston 记录器编写单元测试

node.js - 将 React 应用程序部署到 github 页面。获取...net::ERR_ABORTED

javascript - ajax 请求中没有 'Access-Control-Allow-Origin',但不是通过单击 <a> 标记链接

javascript - 谷歌地图标记上的标签上未显示文本

javascript - 蒙哥错误: failed to connect to server [localhost:27017]

javascript - Discord JS 音乐机器人的问题