Merge pull request #1097 from 4eb0da/datefile-error-handling

dateFile error handling fix
This commit is contained in:
Lam Wei Li 2022-01-19 21:26:03 +08:00 committed by GitHub
commit e86a809544
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 3 deletions

View File

@ -22,17 +22,26 @@ function appender(
// options should work for dateFile as well.
options.maxSize = options.maxLogSize;
let alive = true;
const logFile = new streams.DateRollingFileStream(
filename,
pattern,
options
);
logFile.on('error', (err) => {
alive = false;
console.error('log4js.dateFileAppender - Writing to file %s, error happened ', filename, err); //eslint-disable-line
});
logFile.on("drain", () => {
process.emit("log4js:pause", false);
});
const app = function (logEvent) {
if (!alive) {
return;
}
if (!logFile.write(layout(logEvent, timezoneOffset) + eol, "utf8")) {
process.emit("log4js:pause", true);
}

View File

@ -20,9 +20,6 @@ function openTheStream(file, fileSize, numFiles, options) {
numFiles,
options
);
stream.on('error', (err) => {
console.error('log4js.fileAppender - Writing to file %s, error happened ', file, err); //eslint-disable-line
});
stream.on('drain', () => {
process.emit("log4js:pause", false);
});
@ -58,9 +55,18 @@ function fileAppender(file, layout, logSize, numBackups, options, timezoneOffset
timezoneOffset, ')'
);
let alive = true;
let writer = openTheStream(file, logSize, numBackups, options);
writer.on('error', (err) => {
alive = false;
console.error('log4js.fileAppender - Writing to file %s, error happened ', file, err); //eslint-disable-line
});
const app = function (loggingEvent) {
if (!alive) {
return;
}
if (options.removeColor === true) {
// eslint-disable-next-line no-control-regex
const regex = /\x1b[[0-9;]*m/g;