Merge pull request #1179 from log4js-node/fixes-connectLogger

fix: connectLogger not logging on close
This commit is contained in:
Lam Wei Li 2022-01-28 00:11:36 +08:00 committed by GitHub
commit 5f33c8ca24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -273,7 +273,12 @@ module.exports = function getLogger(logger4js, options) {
};
// hook on end request to emit the log entry of the HTTP request.
res.on("finish", () => {
let finished = false;
const handler = () => {
if (finished) {
return;
}
finished = true;
res.responseTime = new Date() - start;
// status code response level handling
if (res.statusCode && options.level === "auto") {
@ -293,7 +298,11 @@ module.exports = function getLogger(logger4js, options) {
thisLogger.log(level, format(fmt, combinedTokens));
}
if (options.context) thisLogger.removeContext("res");
});
};
res.on("end", handler);
res.on("finish", handler);
res.on("error", handler);
res.on("close", handler);
}
// ensure next gets always called