@neodx/log
Version:
A lightweight universal logging framework
75 lines (74 loc) • 2.12 kB
JavaScript
var e = require('./read-arguments-DiLh6En8.cjs');
const r = 'silent',
t = {
error: 10,
warn: 20,
info: 30,
done: 40,
debug: 50,
success: 'done',
verbose: 'debug',
[r]: 1 / 0
},
n = e => e === r,
l = (r, t) => {
let n = t[r];
return e.isTypeOfString(n) ? l(n, t) : r;
};
(exports.DEFAULT_LOGGER_LEVELS = t),
(exports.DEFAULT_LOGGER_PARAMS = {
levels: t,
level: 'done',
name: '',
transform: [],
target: [],
meta: {}
}),
(exports.LOGGER_SILENT_LEVEL = r),
(exports.createLoggerFactory = function ({
defaultParams: r,
formatMessage: t,
readArguments: a
}) {
return function o(s) {
let i = { ...r, ...s },
{ meta: u, target: m, level: f, name: g = '', levels: E } = i,
c = e.toArray(i.transform),
L = e
.toArray(m)
.filter(e.isTruthy)
.map(r => (e.isTypeOfFunction(r) ? { target: r } : r))
.map(({ target: r, level: t }) => ({
level: t && l(t, E),
target: e.toArray(r).filter(e.isTruthy)
}))
.filter(r => !e.isEmpty(r.target) && !n(r.level)),
d = (r, ...o) => {
let s = l(r, E);
if (n(f) || (f && E[s] > E[f])) return;
let [[i = '', ...m], d, p] = a(o),
v = String(i),
y = c.reduce((e, r) => r(e), {
name: g,
level: s,
error: p,
meta: { ...u, ...d },
date: new Date(),
msgArgs: m,
msgTemplate: v,
msg: e.isEmpty(m) ? v : t(v, m),
__: { originalLevel: r, levels: E }
});
for (let e of L) (e.level && E[e.level] > E[s]) || e.target.forEach(e => e(y));
};
return {
...Object.fromEntries(e.keys(E).map(e => [e, d.bind(null, e)])),
get meta() {
return { ...i.meta };
},
fork: e => o({ ...s, ...e }),
child: (e, r) => o({ ...s, ...r, name: g ? `${g}:${e}` : e })
};
};
});
//# sourceMappingURL=create-logger-factory-gpFFxhZQ.cjs.map