Skip to content

Commit

Permalink
Merge pull request #1097 from 4eb0da/datefile-error-handling
Browse files Browse the repository at this point in the history
dateFile error handling fix
  • Loading branch information
lamweili committed Jan 19, 2022
2 parents 34ab3b2 + a3e6363 commit e86a809
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
9 changes: 9 additions & 0 deletions lib/appenders/dateFile.js
Expand Up @@ -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);
}
Expand Down
12 changes: 9 additions & 3 deletions lib/appenders/file.js
Expand Up @@ -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);
});
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit e86a809

Please sign in to comment.