【发布时间】:2012-02-22 20:17:49
【问题描述】:
在哪里可以读取调用函数创建的日志:
log.Print("Message")
Main 下的“Logs”选项卡似乎只显示有关调用哪些 URL 的信息,但没有任何应用程序将显示的调试信息。
【问题讨论】:
标签: google-app-engine logging go
在哪里可以读取调用函数创建的日志:
log.Print("Message")
Main 下的“Logs”选项卡似乎只显示有关调用哪些 URL 的信息,但没有任何应用程序将显示的调试信息。
【问题讨论】:
标签: google-app-engine logging go
如documentation 中所述,如果您希望日志显示在控制台中,则应使用Context 接口而不是log 进行日志记录。
c := appengine.NewContext(r)
c.Infof("Requested URL: %v", r.URL)
【讨论】:
如果您使用的是新的 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)
【讨论】:
必须在其他方法调用中传递相同的上下文对象。 这是一个例子:
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)
}
【讨论】: