我使用 node.js 编写了一个 API,其中使用了“ Winston logger
”。因为我提到的要写入所有日志的文件的所有者为“ ROOT
”,所以我的应用程序退出了。当我将文件所有者更改为“ my user
”时,我的应用程序有效。所以我的结论是文件权限是问题所在。
我的温斯顿代码:
new(winston.transports.File)({
filename: config.path,-------------------->/home/username/logsdir/logfile
//maxsize: 1024 * 1024 * 10, // 10MB
exitOnError: false,
maxsize: 1024 * 1024,
level: 'info',
handleExceptions: true,
levels: customLevels.levels,
rotationFormat: function() {
return getFormattedDate();
function getFormattedDate() {
var temp = new Date();
return dateStr = padStr(temp.getFullYear()) + padStr(1 + temp.getMonth()) + padStr(temp.getDate()) + padStr(temp.getHours()) + padStr(temp.getMinutes()) + padStr(temp.getSeconds());
}
function padStr(i) {
return (i < 10) ? "0" + i : "" + i;
}
}
})]
温斯顿没有抛出任何异常,只是我的应用程序退出了。是否可以检查文件的所有者,或者温斯顿有任何选择来解决这个问题。我google了很多,但我找不到解决方案。帮我解决这个问题。提前致谢。