【发布时间】:2020-01-23 02:48:38
【问题描述】:
我正在尝试以 Google Cloud 能够正确提取日志级别的方式格式化我的日志。这是在 Cloud Run 上运行的,带有 typescript。 Cloud Run 正在从容器输出中获取日志。
如果我执行以下操作,谷歌会正确解析日志行:
console.log(JSON.stringify({
severity: 'ERROR',
message: 'This is testing a structured log error for GCP'
}));
我尝试了多种使用 winston 格式化的不同方法,结果如下:
useFormat = format.combine(
format((info, opts) => {
info['severity'] = info.level;
delete info.level;
return info;
})(),
format.json());
this.winston = winston.createLogger({
level: logLevel,
format: useFormat,
transports: [new winston.transports.Console()]
});
看起来它会起作用(它正确输出 json 行),我在 GCP 日志中得到了这个:
任何帮助表示赞赏。
【问题讨论】:
标签: node.js typescript google-cloud-platform winston google-cloud-run