如何从 winston@3 记录器输出中删除 [符号] 字段?
Posted
技术标签:
【中文标题】如何从 winston@3 记录器输出中删除 [符号] 字段?【英文标题】:How to remove [Symbol] fields from winston@3 logger output? 【发布时间】:2018-12-24 23:10:29 【问题描述】:这是 winston@3 记录器的演示代码:
const createLogger, format, transports = require("winston")
const combine, timestamp, prettyPrint = format
const logger = createLogger(
format: combine(timestamp(), prettyPrint( colorize: true ))
)
logger.add(new transports.Console())
logger.info("test message", data: a: 1, b: [1, 2, 3, 4], d: new Date() )
打印出来:
data: a: 1, b: [ 1, 2, 3, 4 ], d: 2018-07-17T09:38:43.253Z ,
level: 'info',
message: 'test message',
timestamp: '2018-07-17T09:38:43.253Z',
[Symbol(level)]: 'info',
[Symbol(splat)]:
[ data: a: 1, b: [ 1, 2, 3, 4 ], d: 2018-07-17T09:38:43.253Z ]
我想从输出中删除一些字段:[Symbot(level)]、[Symbot(splat)],所以我想有这样的输出:
data: a: 1, b: [ 1, 2, 3, 4 ], d: 2018-07-17T09:38:43.253Z ,
level: 'info',
message: 'test message',
timestamp: '2018-07-17T09:38:43.253Z'
【问题讨论】:
您找到解决方案了吗?同样的问题。 【参考方案1】:您可以修改日志输出及其格式。这是官方文档:https://github.com/winstonjs/winston#streams-objectmode-and-info-objects
示例如下:
logger.add(winston.transports.Console,
level : 'error',
prettyPrint : true,
silent : false,
timestamp : true,
json : false
);
【讨论】:
它对我不起作用,它打印一个错误:throw new Error('Invalid transport, must be an object with a log method.');
这是一个演示代码:` const winston = require("winston") const logger = winston.createLogger() logger。 add(winston.transports.Console, level: "error", prettyPrint: true, silent: false, timestamp: true, json: false ) logger.info("test message", data: a: 1, b : [1, 2, 3, 4], d: new Date() ) `以上是关于如何从 winston@3 记录器输出中删除 [符号] 字段?的主要内容,如果未能解决你的问题,请参考以下文章