UNPKG

@reclaimprotocol/attestor-core

Version:

<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>

100 lines 7.44 kB
"use strict"; 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.makeLogger = makeLogger; exports.redact = redact; const pino_1 = __importDefault(require("pino")); const env_1 = require("../utils/env"); const PII_PROPERTIES = ['ownerPrivateKey', 'secretParams']; const redactedText = '[REDACTED]'; const envLevel = (0, env_1.getEnvVariable)('LOG_LEVEL'); exports.logger = (0, pino_1.default)(); makeLogger(false, envLevel); /** * Creates a logger instance with optional redaction of PII. * Replaces default logger * See PII_PROPERTIES for the list of properties that will be redacted. * * @param redactPii - whether to redact PII from logs * @param level - the log level to use * @param onLog - a callback to call when a log is written */ function makeLogger(redactPii, level, onLog) { const opts = { // Log human readable time stamps instead of epoch time timestamp: pino_1.default.stdTimeFunctions.isoTime, }; if (redactPii) { opts.formatters = { log: redact }; opts.serializers = { redact }; opts.browser = { write: { fatal: log => writeLog('fatal', log), error: log => writeLog('error', log), warn: log => writeLog('warn', log), info: log => writeLog('info', log), debug: log => writeLog('debug', log), trace: log => writeLog('trace', log), } }; } const pLogger = (0, pino_1.default)(opts); pLogger.level = level || 'info'; exports.logger = pLogger; return pLogger; function writeLog(level, log) { log = redact(log); const { msg, ...obj } = log; if (console[level]) { console[level](obj, msg); } else { console.log(obj, msg); } onLog === null || onLog === void 0 ? void 0 : onLog(level, log); } } function isObjectProperty(property) { return (typeof property) === 'object' && !Array.isArray(property) && property !== null; } function getReplacer() { // Store references to previously visited objects const references = new WeakSet(); return function (key, value) { const isObject = (typeof value) === 'object' && value !== null; if (isObject) { if (references.has(value)) { return '[CIRCULAR]'; } references.add(value); } return value; }; } function redact(json) { const isObject = isObjectProperty(json); if (!isObject && !Array.isArray(json)) { return json; } const redacted = JSON.parse(JSON.stringify(json, getReplacer())); for (const prop in redacted) { if (PII_PROPERTIES.includes(prop)) { redacted[prop] = redactedText; } if (Array.isArray(redacted[prop])) { for (const [index, value] of redacted[prop].entries()) { redacted[prop][index] = redact(value); } } else if (isObjectProperty(redacted[prop])) { redacted[prop] = redact(redacted[prop]); } } return redacted; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFxQkEsZ0NBeUNDO0FBMEJELHdCQXdCQztBQWhIRCxnREFBdUM7QUFFdkMsdUNBQThDO0FBRTlDLE1BQU0sY0FBYyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLENBQUE7QUFDMUQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFBO0FBQ2pDLE1BQU0sUUFBUSxHQUFHLElBQUEsb0JBQWMsRUFBQyxXQUFXLENBQWEsQ0FBQTtBQUU3QyxRQUFBLE1BQU0sR0FBRyxJQUFBLGNBQUMsR0FBRSxDQUFBO0FBRXZCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFFM0I7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixVQUFVLENBQ3pCLFNBQWtCLEVBQ2xCLEtBQWdCLEVBQ2hCLEtBQTJDO0lBRTNDLE1BQU0sSUFBSSxHQUFrQjtRQUMzQix1REFBdUQ7UUFDdkQsU0FBUyxFQUFFLGNBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPO0tBQ3JDLENBQUE7SUFDRCxJQUFHLFNBQVMsRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQTtRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNkLEtBQUssRUFBRTtnQkFDTixLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQztnQkFDcEMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7Z0JBQ3BDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVB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