未在App Engine Flex(节点)中设置Google Stackdriver日志级别

问题描述 投票:0回答:1

我一直试图在我的App Engine灵活节点部署中使用不同的日志级别,但无济于事。

我的第一次尝试只是使用console.info,console.warn等。

然后,我尝试使用这些docs中描述的温斯顿。

app.get('/testlog', (req, res) => {
  // Writes some log entries
  logger.silly('silly');
  logger.debug('debug');
  logger.info('info');
  logger.warn('warn');
  logger.error('error');
  res.send("Logs written")
})

在本地,它会将日志写入Stackdriver的“全局”范围,并包含日志级别。但是在部署时,它会写入“GAE Application”,但没有任何级别。

是否可以在部署到App Engine时在Stackdriver中设置级别?

google-app-engine logging google-cloud-platform stackdriver
1个回答
0
投票

当它在any environment that isn't App Engine Flex or Google Cloud Functions中运行时,Winston记录器直接记录到Stackdriver Logging API。显然,在App Engine Flex和Google Cloud Functions上它会记录到stdout。

App Engine Flex的默认Stackdriver日志代理配置将检测单行JSON并将其转换为jsonPayload。如果您希望对严重性进行更精细的控制,可以将Winston配置为单行1 JSON,并让日志代理从JSON对象中获取severity(请参阅https://cloud.google.com/logging/docs/agent/configuration#process-payload)。

1见How do I change my node winston JSON output to be single line

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.