我们使用的是Node.js服务器,在Google平台上有日志记录。
问题是,如果我们执行一个日志条目,并将对象放入其中,该对象被序列化为多行输出,则它不会被“堆叠”。
因此,如果我们有100行的对象,它会创建100行输出到google,这是非常难读的,而且我们无法“分组”它。
在其他服务中,输出总是堆叠在一起的(loggly,logsene)。
你知道如何堆叠输入吗?我们使用温斯顿进行日志记录(它将控制台作为输出之一)。
发布于 2018-03-27 15:57:51
这就是解决方案(PS:多亏了GordonHo在这个问题上为我提供了帮助):
const winston = require('winston');
const config = require('config');
const _ = require('lodash');
function transportsMethod() {
const transports = [];
if (config.params.oneLineWinston === true) {
transports.push(new (winston.transports.Console)({
json: true,
stringify: (obj) => JSON.stringify(obj),
}));
} else {
transports.push(new (winston.transports.Console)({json: true}));
}
return transports;
}
const logger = new winston.Logger({
level: winstonLevel,
transports: transportsMethod(),
});
module.exports = logger;发布于 2018-03-27 15:49:50
试着选择堆栈驱动程序‘温斯顿_日志’。
默认情况下,您正在接收stdout,这给我提供了与多行相同的问题。
https://stackoverflow.com/questions/42959423
复制相似问题