@zkp2p/reclaim-witness-sdk
Version:
<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>
100 lines • 7.44 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.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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
;