【发布时间】:2019-06-06 16:15:16
【问题描述】:
- 谷歌应用引擎标准
- 运行时:nodejs10
我不知道我是怎么搞砸的,因为它看起来很简单。根据app engine standard documentation:
console.error('message');
在 Stackdriver 日志查看器中应该有 ERROR 日志级别。但是,我看到日志级别设置为“任何日志级别”。从logName 可以看出,它正在记录到stderr,这似乎是正确的。
logName: "projects/my-project-name/logs/stderr"
引用:
要从您的 Node.js 应用发出日志项,您可以使用
console.log()或console.error()函数,它们具有 以下日志级别:
- 使用
console.log()发出的项目具有INFO 日志级别。- 使用
console.error()发出的项目具有ERROR 日志级别。- 内部系统消息具有 DEBUG 日志级别。
我最初试图让 winston 与 Stackdriver 一起工作(使用 @google-cloud/logging-winston)以获得更精细的日志记录级别,但现在我什至无法让它登录到 INFO或 ERROR 带有基本的console.log() 和console.error()。
希望我不必为了使用普通的console.error() 而写crazy custom transport。
【问题讨论】:
-
我也面临同样的问题。你搞定了吗?
-
@DarshanDevrai 抱歉,我没有。我已经把这个问题放在次要位置,但希望重新审视它。如果我找到解决方案或者如果谷歌提供了一些支持,我会很乐意回答我自己的问题。
-
我重新访问了文档,看来这可能是不可能的。不确定我是第一次错过还是他们最近添加了它(最后更新于 2019 年 9 月 17 日)。它现在显示“使用 stdout 编写应用程序日志作为输出,使用 stderr 编写错误。这些文件是自动收集的,可以在日志查看器中查看。请注意,这不提供可用于过滤的日志级别日志查看器;但是,日志查看器确实提供其他过滤,例如文本、时间戳等。”强调我的。 Doc 有点自相矛盾。
标签: javascript node.js google-app-engine logging stackdriver