mirror of
https://github.com/log4js-node/log4js-node.git
synced 2025-12-08 19:26:01 +00:00
Merge branch 'master' of https://github.com/log4js-node/log4js-node
This commit is contained in:
commit
d7cf0ffe31
@ -28,8 +28,14 @@ function appender(
|
||||
options
|
||||
);
|
||||
|
||||
logFile.on("drain", () => {
|
||||
process.emit("log4js:pause", false);
|
||||
});
|
||||
|
||||
const app = function (logEvent) {
|
||||
logFile.write(layout(logEvent, timezoneOffset) + eol, 'utf8');
|
||||
if (!logFile.write(layout(logEvent, timezoneOffset) + eol, "utf8")) {
|
||||
process.emit("log4js:pause", true);
|
||||
}
|
||||
};
|
||||
|
||||
app.shutdown = function (complete) {
|
||||
|
||||
@ -34,5 +34,37 @@ tap.test("Drain event test", batch => {
|
||||
t.end();
|
||||
});
|
||||
|
||||
|
||||
batch.test("Should emit pause event and resume when logging in a date file with high frequency", (t) => {
|
||||
// Generate date file logger with 5MB of highWaterMark config
|
||||
log4js.configure({
|
||||
appenders: {
|
||||
file: { type: "dateFile", filename: "logs/date-file-drain.log", highWaterMark: 5 * 1024 * 1024 }
|
||||
},
|
||||
categories: {
|
||||
default: { appenders: ["file"], level: "debug" }
|
||||
}
|
||||
});
|
||||
|
||||
let onPause = false;
|
||||
let onResume = false;
|
||||
|
||||
process.on("log4js:pause", value => {
|
||||
if (value) {
|
||||
onPause = true;
|
||||
} else {
|
||||
onResume = true;
|
||||
}
|
||||
});
|
||||
|
||||
const logger = log4js.getLogger();
|
||||
while (onPause === false && onResume === false) {
|
||||
if (onPause === false)
|
||||
logger.info("This is a test for emitting drain event in date file logger");
|
||||
}
|
||||
t.end();
|
||||
|
||||
});
|
||||
|
||||
batch.end();
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user