我已经创建了Go
API并进行了部署,但是当我看到日志时,没有Println
并且没有响应发送给客户端
main
:
func main() {
http.HandleFunc("/v1/", handler)
appengine.Main()
}
func handler(w http.ResponseWriter, r *http.Request) {
if r.Method != "GET" {
http.Error(w, "not allowed", http.StatusMethodNotAllowed)
return
}
...
}
yaml
文件:
runtime: go
api_version: go1.8
handlers:
- url: /.*
script: _go_app
我正在访问的网址:
myapp.appspot.com/v1/param
(这是_go_app是什么?)
问题在于,如果我传递“ POST”请求,该错误就可以正常工作,但是如果我发出有效请求,则响应将永远存在。
答案 0 :(得分:0)
在AppEngine中,您必须使用AppEngine logger,并从请求中传入上下文。
godoc中的示例:
c := appengine.NewContext(r)
query := &log.Query{
AppLogs: true,
Versions: []string{"1"},
}
for results := query.Run(c); ; {
record, err := results.Next()
if err == log.Done {
log.Infof(c, "Done processing results")
break
}
if err != nil {
log.Errorf(c, "Failed to retrieve next log: %v", err)
break
}
log.Infof(c, "Saw record %v", record)
}