GAE Golang - log.Print ()? - PullRequest
       37

GAE Golang - log.Print ()?

20 голосов
/ 31 января 2012

Где можно прочитать журналы, созданные с помощью функции вызова:

log.Print("Message")

На вкладке «Журналы» в разделе «Main» отображается только информация о том, какие URL-адреса были вызваны, но без какой-либо отладочной информации, которая будет отображатьсяприложение.

Ответы [ 3 ]

30 голосов
/ 31 января 2012

Как описано в документации , вы должны использовать интерфейс Context для ведения журнала вместо log, если вы хотите, чтобы ваши журналы отображались в консоли.

c := appengine.NewContext(r)
c.Infof("Requested URL: %v", r.URL)
7 голосов
/ 30 июля 2015

Если вы используете новый пакет App Engine google.golang.org / appengine , в README:

  • Методы ведения журнала, которые были на appengine.Contextтеперь функции в google.golang.org/appengine/log

Так что вы должны использовать

c := appengine.NewContext(r)
log.Infof(c, "Requested URL: %v", r.URL)
0 голосов
/ 30 декабря 2012

Тот же объект контекста должен передаваться в других вызовах методов.Вот пример:

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)
} 
...