dateFile error handling fix 2

This commit is contained in:
Aleksandr Nefedov 2021-10-04 18:05:19 +03:00
parent 9433b12eac
commit a3e6363cd9
2 changed files with 15 additions and 3 deletions

View File

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

View File

@ -12,9 +12,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);
});
@ -50,9 +47,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;