GAE Golang - log.Print()?

The*_*chu 20 logging google-app-engine go

哪里可以读取通过调用函数创建的日志:

log.Print("Message")
Run Code Online (Sandbox Code Playgroud)

Main下的"Logs"选项卡似乎只显示有关调用哪些URL的信息,但没有应用程序显示的任何调试信息.

pro*_*ppy 30

文档中所述,如果希望日志显示在控制台中,则应使用Context接口进行日志记录而不是log日志.

c := appengine.NewContext(r)
c.Infof("Requested URL: %v", r.URL)
Run Code Online (Sandbox Code Playgroud)

  • 上下文应该传递,还是应该根据需要创建一个新的? (3认同)
  • @NickSiderakis它现在并不重要,因为它在[开发]中都被SDK缓存(https://code.google.com/p/appengine-go/source/browse/appengine_internal/api_dev.go#197)和生产. (2认同)
  • 如果您在没有请求URL的情况下调试函数会发生什么? (2认同)
  • 在任何App Engine运行时中都无法在请求上下文外部进行日志记录.系统仅支持与请求关联的日志. (2认同)

Chu*_*Lyu 7

如果您在README 中使用新的App Engine软件包google.golang.org/appengine:

  • appengine.Context现在的记录方法现在都是函数google.golang.org/appengine/log

所以你应该使用

c := appengine.NewContext(r)
log.Infof(c, "Requested URL: %v", r.URL)
Run Code Online (Sandbox Code Playgroud)