从GCP中的发布/订阅云功能更好地记录日志

时间:2019-09-27 10:22:45

标签: google-cloud-functions google-cloud-pubsub google-cloud-stackdriver

我正在尝试改善从基于node.js的GCP发布/订阅云功能获得的日志记录。我仅使用console.log就可以在Stackdriver中看到所有内容,但是日志的可读性不是很高。堆栈跟踪被分成多行,并且日志级别通常被忽略(因此一切都是调试或错误,而两者之间没有任何作用)。

我尝试使用Google日志记录库(通过@ google-cloud / logging-bunyan),该程序可以解决上述问题,但会引入更多(严重)问题。

@google-cloud/logging-bunyan与行为不佳的功能(会崩溃)一起使用时,Stackdriver中的日志很少甚至没有。问题是库的异步性质,并且该函数崩溃后不允许记录任何内容。我尝试打开和关闭记录器,以及每个功能的开始和结束,这确实有所改善。但是我开始从中得到一些非常奇怪的错误(例如Maximum call stack size exceeded)。

我最终放弃了,回到了console.log。

请注意,@google-cloud/logging-bunyan解决方案似乎可以与HTTP Cloud Functions一起很好地工作。发生崩溃时,我使用退出钩来刷新记录器,到目前为止,还没有发现任何问题。

0 个答案:

没有答案