30 lines
899 B
JavaScript
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;
|
||
|
});
|