feature/IO-3357-Reynolds-and-Reynolds-DMS-API-Integration - Expanded Logs / Formatting change

This commit is contained in:
Dave
2025-11-12 17:01:54 -05:00
parent 556cd993b9
commit 90f653c0b7
13 changed files with 444 additions and 254 deletions

View File

@@ -1,35 +1,32 @@
// File: server/rr/rr-logger.js
// Console logger for RR flows with safe JSON. No socket emission by default.
const baseLogger = require("../utils/logger");
function RRLogger(_socket, defaults = {}) {
function safeSerialize(value) {
try {
const seen = new WeakSet();
return JSON.stringify(value, (key, val) => {
if (typeof val === "bigint") return val.toString();
if (val instanceof Error) return { name: val.name, message: val.message, stack: val.stack };
if (typeof val === "function") return undefined;
if (typeof val === "object" && val !== null) {
if (seen.has(val)) return "[Circular]";
seen.add(val);
if (val instanceof Date) return val.toISOString();
if (val instanceof Map) return Object.fromEntries(val);
if (val instanceof Set) return Array.from(val);
if (typeof Buffer !== "undefined" && Buffer.isBuffer?.(val)) return `<Buffer len=${val.length}>`;
}
return val;
});
} catch {
try {
return String(value);
} catch {
return "[Unserializable]";
const safeSerialize = (value) => {
try {
const seen = new WeakSet();
return JSON.stringify(value, (key, val) => {
if (typeof val === "bigint") return val.toString();
if (val instanceof Error) return { name: val.name, message: val.message, stack: val.stack };
if (typeof val === "function") return undefined;
if (typeof val === "object" && val !== null) {
if (seen.has(val)) return "[Circular]";
seen.add(val);
if (val instanceof Date) return val.toISOString();
if (val instanceof Map) return Object.fromEntries(val);
if (val instanceof Set) return Array.from(val);
if (typeof Buffer !== "undefined" && Buffer.isBuffer?.(val)) return `<Buffer len=${val.length}>`;
}
return val;
});
} catch {
try {
return String(value);
} catch {
return "[Unserializable]";
}
}
};
const RRLogger = (_socket, defaults = {}) => {
return function log(level = "info", message = "", ctx = {}) {
const lvl = String(level || "info").toLowerCase();
const iso = new Date().toISOString();
@@ -48,9 +45,11 @@ function RRLogger(_socket, defaults = {}) {
} catch {
try {
console.log(line);
} catch {}
} catch {
// swallow
}
}
};
}
};
module.exports = RRLogger;