log-vault
Version:
A generator of Winston logger instance with pre-defined configurable transports and formats and extra functionality.
29 lines (28 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatArrangeOutput = void 0;
const winston_1 = require("winston");
const __1 = require("..");
const obj_walker_1 = require("obj-walker");
exports.formatArrangeOutput = (0, winston_1.format)((info, opts) => {
const { message, error, level, timestamp, [__1.META]: meta, [__1.LEVEL]: symLevel, [__1.SPLAT]: splat, [__1.MESSAGE]: stringifiedMessage, ...extra } = info;
const { truncateOptions } = opts;
const arrangedExtra = [];
if (splat)
arrangedExtra.push(...splat);
else if (extra && Object.keys(extra).length)
arrangedExtra.push({ ...extra });
const truncatedMessage = (0, obj_walker_1.truncate)([message], truncateOptions);
return {
message: error
? (0, obj_walker_1.truncate)(error, truncateOptions)
: truncatedMessage[0],
level,
timestamp,
extra: error ? undefined : (0, obj_walker_1.truncate)(arrangedExtra, truncateOptions),
[__1.META]: meta,
[__1.LEVEL]: symLevel,
[__1.SPLAT]: splat,
[__1.MESSAGE]: stringifiedMessage
};
});