UNPKG

@ozmap/logger

Version:
34 lines (33 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.json = void 0; const Helpers_1 = require("../util/Helpers"); /** * Formatting method for JSON output. * * @param logger The underlying logging client. * @param tag Tag to mark logged output. * @returns The logging method. */ function json(logger, tag) { const now = (0, Helpers_1.datetime)(); const paint = (0, Helpers_1.colorized)(); return async (level, ...args) => { const data = {}; for (let i = 0; i < args.length; ++i) { data[i] = (0, Helpers_1.normalize)(args[i]); } try { logger.log(paint[level](JSON.stringify({ ...now(), level, tag, data }, (0, Helpers_1.getCircularReplacer)()))); } catch (e) { logger.log(JSON.stringify({ ...now(), level, tag, data: '[OZLogger internal] - Unable to serialize log data' })); } }; } exports.json = json;