@roarr/fastify
Version:
Roarr Fastify compatible logger.
53 lines (52 loc) • 1.97 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createFastifyLogger = void 0;
var serialize_error_1 = require("serialize-error");
var createFastifyLogger = function (Roarr, configuration) {
var _a;
var requestIdLogLabel = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.requestIdLogLabel) !== null && _a !== void 0 ? _a : 'reqId';
return Roarr.child(function (message) {
var _a, _b;
if (!message.context[requestIdLogLabel]) {
return message;
}
var newContext = __assign({}, message.context);
var req = newContext.req;
if (req) {
newContext.request = {
headers: req.headers,
hostname: req.hostname,
method: req.method,
remoteAddress: req.ip,
remotePort: (_a = req.socket) === null || _a === void 0 ? void 0 : _a.remotePort,
url: req.url,
};
}
var res = newContext.res;
if (res) {
newContext.response = {
statusCode: (_b = res.raw) === null || _b === void 0 ? void 0 : _b.statusCode,
};
}
var err = newContext.err;
if (err) {
newContext.error = (0, serialize_error_1.serializeError)(err);
}
delete newContext.req;
delete newContext.res;
delete newContext.err;
return __assign(__assign({}, message), { context: newContext });
});
};
exports.createFastifyLogger = createFastifyLogger;