Open suntopo opened 3 years ago
_createStream() { mkdirp.sync(path.dirname(this.options.file)); const stream = fs.createWriteStream(this.options.file, { flags: 'a' }); const onError = err => { console.error('%s ERROR %s [egg-logger] [%s] %s', utility.logDate(','), process.pid, this.options.file, err.stack); this.reload(); // 又重新调用,导致不断循环 console.warn('%s WARN %s [egg-logger] [%s] reloaded', utility.logDate(','), process.pid, this.options.file); }; // only listen error once because stream will reload after error stream.once('error', onError); stream._onError = onError; return stream; }
通常情况下如果createWriteStream报错的话(权限,资源问题),一般是无法通过reload进行恢复的,而不断的reload不光不会修复问题,而且会消耗大量的硬件资源,不如抛个? @atian25
?
昨天同事又遇到这个问题了,看看这是个高频问题吗 ?@fengmk2
通常情况下如果createWriteStream报错的话(权限,资源问题),一般是无法通过reload进行恢复的,而不断的reload不光不会修复问题,而且会消耗大量的硬件资源,不如抛个? @atian25