chat-server/node_modules/logform/pretty-print.js

30 lines
899 B
JavaScript

'use strict';
const inspect = require('util').inspect;
const format = require('./format');
const { LEVEL, MESSAGE, SPLAT } = require('triple-beam');
/*
* function prettyPrint (info)
* Returns a new instance of the prettyPrint Format that "prettyPrint"
* serializes `info` objects. This was previously exposed as
* { prettyPrint: true } to transports in `winston < 3.0.0`.
*/
module.exports = format((info, opts = {}) => {
//
// info[{LEVEL, MESSAGE, SPLAT}] are enumerable here. Since they
// are internal, we remove them before util.inspect so they
// are not printed.
//
const stripped = Object.assign({}, info);
// Remark (indexzero): update this technique in April 2019
// when node@6 is EOL
delete stripped[LEVEL];
delete stripped[MESSAGE];
delete stripped[SPLAT];
info[MESSAGE] = inspect(stripped, false, opts.depth || null, opts.colorize);
return info;
});