GAE Golang - log.Print()?

时间:2012-01-31 03:31:43

标签: google-app-engine logging go

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

log.Print("Message")

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

3 个答案:

答案 0 :(得分:30)

documentation中所述,如果您希望日志显示在控制台中,则应使用Context界面而不是log

c := appengine.NewContext(r)
c.Infof("Requested URL: %v", r.URL)

答案 1 :(得分:7)

如果您正在使用新的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)

答案 2 :(得分:0)

必须在其他方法调用中传递相同的上下文对象。 这是一个例子:

func handleSign(w http.ResponseWriter, r *http.Request) {   
    c := appengine.NewContext(r)
    if err := r.ParseForm(); err != nil {
        writeError(c, err)
        return
    }
}

func writeError(c appengine.Context, err os.Error) {
    c.Errorf("%v", err)
}