温斯顿没有漂亮的打印到控制台

我试图让温斯顿漂亮的打印到控制台上,所以我把它固定在一个文件中,并用节点运行它:

var winston = require('winston'); winston.cli(); winston.data({ a: "test", of: "many", properties: { like: "this" } }); winston.data('data', { a: "test", of: "many", properties: { like: "this" } }); 

terminal吐出以下(不完全漂亮)的消息:

 data: a=test, of=many, like=this data: data a=test, of=many, like=this 

我遵循Winston自述文件 (“在CLI工具中使用winston”)的说明。 我误读了什么? 在某处丢失设置?

我想出了答案(文档不正确)。 如果使用构造函数并手动添加传输,则可以为winston和个别传输设置选项。 某些选项需要直接添加到winston,而其他选项需要添加到运输。

例如:

 var winston = require('winston'); var logger = new (winston.Logger)({ levels: { trace: 0, input: 1, verbose: 2, prompt: 3, debug: 4, info: 5, data: 6, help: 7, warn: 8, error: 9 }, colors: { trace: 'magenta', input: 'grey', verbose: 'cyan', prompt: 'grey', debug: 'blue', info: 'green', data: 'grey', help: 'cyan', warn: 'yellow', error: 'red' } }); logger.add(winston.transports.Console, { level: 'trace', prettyPrint: true, colorize: true, silent: false, timestamp: false }); logger.add(winston.transports.File, { prettyPrint: false, level: 'info', silent: false, colorize: true, timestamp: true, filename: './nKindler.log', maxsize: 40000, maxFiles: 10, json: false }); 

我拿@ partycoder的答案,并修剪它只使用Winston的默认日志logging级别。 它也不会颠倒错误的顺序。 0 =最高优先级。

 winston.addColors({ silly: 'magenta', debug: 'blue', verbose: 'cyan', info: 'green', warn: 'yellow', error: 'red' }); winston.remove(winston.transports.Console); winston.add(winston.transports.Console, { level: process.env.LOG_LEVEL, prettyPrint: true, colorize: true, silent: false, timestamp: false });