traceapm
Version:
SDK for OpenTelemetry auto-instrumentation and OTLP export for Node.js apps.
23 lines (21 loc) • 756 B
JavaScript
const requireInTheMiddle = require('require-in-the-middle');
const logger = require('../utils/logger');
function initAutoLogger() {
requireInTheMiddle(['http', 'https', 'express'], (exports, name, basedir) => {
if (name === 'http' || name === 'https') {
const originalCreateServer = exports.createServer;
exports.createServer = function (...args) {
const server = originalCreateServer.apply(this, args);
server.on('request', (req, res) => {
logger.info(`[auto] API hit: ${req.method} ${req.url}`);
});
return server;
};
}
if (name === 'express') {
// Optionally, patch express for more granular logging
}
return exports;
});
}
module.exports = { initAutoLogger };