drp935159 2015-03-20 14:25
浏览 260


In the Go Runtime i used the method c.Infof to log messages , but it fails to compile with the following error c.Infof undefined (type context.Context has no field or method Infof) . The Error clearly tells that the app engine context returned from c := appengine.NewContext(r) is of type context.Context and it doesnt have a method c.Infof on it. But contrary to this the documentation in https://godoc.org/google.golang.org/appengine/log suggests that this method exists . Another point to note , The method existed on the context returned by "appengine" (import "appengine" ) package , and this doesnt seem to exist on the context returned by the new package google.golang.org/appengine , what is c.Infof equivalent on the new Context of type context.Context returned by package "google.golang.org/appengine" ?

  • 写回答

1条回答 默认 最新

  • dryift6733 2015-03-20 14:55

    The example in the package documentation is not correct.

    Use the log package functions to write to the App Engine log. Here's the corrected example:

    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")
        if err != nil {
            log.Errorf(c, "Failed to retrieve next log: %v", err)
        log.Infof(c, "Saw record %v", record)

    The example in the package documentation was copied from the App Engine Classic package, but not updated to use the new functions. I suggest reporting this to the App Engine Team.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?



  • ¥20 配置UGM库出现问题
  • ¥15 把Excel导入MATLAB显示错误怎么解决?
  • ¥15 Java中消息和缓存如何使用
  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?