fix: connectLogger not logging on close

This commit is contained in:
Lam Wei Li 2022-01-27 23:57:19 +08:00
parent 292700ab19
commit 2603c975c6
No known key found for this signature in database
GPG Key ID: 90F6ABECF080D7BF

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