NodeJS 中的 Google App Engine 日志记录

Posted

技术标签:

【中文标题】NodeJS 中的 Google App Engine 日志记录【英文标题】:Google App Engine Logging in NodeJS 【发布时间】:2017-03-08 11:37:12 【问题描述】:

我在使用灵活环境和 NodeJS 登录 Google App Engine 时找不到太多信息。

作为docs says,可以使用标准stdoutstderr 编写自己的日志消息。但这只是简单的日志记录,我想要一些更精致的东西。

特别是,Google Cloud Platform Console 中的日志视图允许用户根据其严重性级别过滤日志:

    严重 错误 警告 信息 调试 任何日志级别

我想找到一种方法在我的应用程序中使用这些级别,以便更好地阅读日志。

默认情况下,如果我使用console.log() 打印到stdout,则仅当我按“任何日志级别”过滤时才会显示日志,并且我无法选择严重级别。

我曾尝试使用the docs 上报告的winston-gae,但没有任何成功。可能是我配置错了?

更清楚地说,我希望能够在 Python (source) 中做这样的事情:

import logging
import webapp2
class MainPage(webapp2.RequestHandler):
    def get(self):
        logging.debug('This is a debug message')
        logging.info('This is an info message')
        logging.warning('This is a warning message')
        logging.error('This is an error message')
        logging.critical('This is a critical message')
        self.response.out.write('Logging example.')

app = webapp2.WSGIApplication([
    ('/', MainPage)
], debug=True)

【问题讨论】:

【参考方案1】:

我建议查看 Google Cloud Node.js 客户端库,它可以帮助您调用 Stackdriver Logging API 以记录结构化日志条目:https://github.com/GoogleCloudPlatform/google-cloud-node#google-stackdriver-logging-beta

【讨论】:

以上是关于NodeJS 中的 Google App Engine 日志记录的主要内容,如果未能解决你的问题,请参考以下文章

Google Cloud App Engine 上的 Nodejs 应用程序未启动

运行一个 Google App Engine 实例,前端在 nodejs 中,后端服务器在 python 中

Google App Engine Flexible 可以访问由包动态创建的文件夹吗?

K8S 集群中的 Google FCM firebase-admin initializeApp() 错误

使用 nodejs 中的服务帐户域范围委派通过 Google Apps Gmail 发送邮件

Google App Engine 如何实现分析(堆栈跟踪)?