@eagleeye-solutions/integration-events-common
Version:
Eagle Eye CDP connector common functionality
41 lines • 1.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = void 0;
exports.httpLogger = httpLogger;
const pino_1 = require("pino");
const pino_http_1 = __importDefault(require("pino-http"));
const pino_pretty_1 = __importDefault(require("pino-pretty"));
const pino_logging_gcp_config_1 = require("@google-cloud/pino-logging-gcp-config");
const platform_1 = require("./platform");
const env_1 = require("./env");
const types_1 = require("./types");
exports.logger = (0, pino_1.pino)((0, platform_1.isGoogleCloudRun)()
? (0, pino_logging_gcp_config_1.createGcpLoggingPinoConfig)()
: (0, pino_pretty_1.default)({ sync: true, hideObject: true }));
exports.logger.level = env_1.env.LOG_LEVEL;
function httpLogger(appConfig) {
const logRequestHeadersAllowList = appConfig.logRequestHeadersAllowList ?? types_1.defaultLogRequestHeadersAllowList;
const httpLogger = (0, pino_http_1.default)({
logger: exports.logger,
serializers: {
req: (req) => {
const output = {
id: req.raw.id,
method: req.raw.method,
path: req.raw.url?.split('?')[0], // Remove query params which might be sensitive
headers: {},
};
logRequestHeadersAllowList.forEach(header => {
output.headers[header] = req.raw.headers[header];
});
return output;
},
},
redact: appConfig.loggerRedactOptions,
});
return httpLogger;
}
//# sourceMappingURL=logger.js.map