我非常喜欢使用App Engine时获得的调试和日志记录功能。能够在实时代码中设置断点并在出现问题时检查事物是非常有用的。但如果我还可以进入实时代码并添加日志记录语句,那将会很棒。
这是Logpoints应该做的,但我不能让它们工作。我正在使用"传统" App Engine项目,使用webapp2以Python编写。我尝试使用gcloud
设置我的日志点,如下所示:gcloud debug logpoints create handlers/main.py:108 --target=my-service "I made this!"
。它给了我一个成功的消息和一个我可以看到日志的URL。
然后我进入我的源代码并在实时代码上设置一个断点,与我上面的代码段指示的行相同。断点在那里停止,但没有发生日志记录。我确认logpoint是使用gcloud debug logpoints list
设置的,并且它在那里。只是没有日志。我错过了什么?还有其他人使用这个吗?
答案 0 :(得分:1)
我刚测试过它(部署了一个webapp GAE应用程序,gcloud调试日志创建,Stackdriver调试>创建快照...),对我来说,logpoint消息显示在:
我注意到了,我相信它是导致你的问题的原因,当我使用在执行gcloud debug logpoints create...
后打印的建议的logViewUrl时,高级日志过滤器有一个不正确的module_id:
resource.labels.module_id="None"
根据您部署应用的位置,正确的module_id可能不同,但在我的情况下,将“None”更改为“default”可修复此logViewUrl问题。
注意:模块和服务在此上下文中是相同的