Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python logservice.fetch()未返回任何内容_Python_Api_Google App Engine_Logging - Fatal编程技术网

Python logservice.fetch()未返回任何内容

Python logservice.fetch()未返回任何内容,python,api,google-app-engine,logging,Python,Api,Google App Engine,Logging,以下代码用于从app engine获取日志以进行进一步处理。但是我现在不知道如何使用logservice.fetch的结果来访问日志消息 import cgi from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app from google.appengine.ext import db from google.appengine.api.logservice

以下代码用于从app engine获取日志以进行进一步处理。但是我现在不知道如何使用logservice.fetch的结果来访问日志消息

import cgi
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
from google.appengine.api.logservice import logservice
logservice.AUTOFLUSH_ENABLED = False

class MainPage(webapp.RequestHandler):
    def get(self):  
        requestlogs = logservice.fetch(start_time=1332200000, end_time=1332249954, offset=None, minimum_log_level=logservice.LOG_LEVEL_INFO, include_incomplete=False, include_app_logs=True, version_ids=None, batch_size=None)
        self.response.out.write(requestlogs)
        c=0
        for iter in requestlogs:
           c=c+1  
        print c
application = webapp.WSGIApplication([('/logs', MainPage)], debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()

在您的情况下,代码如下所示:

from google.appengine.api import logservice

MAX_LOGS_TO_READ = 10

class MainPage(webapp.RequestHandler):

  def get(self):  
    request_logs = logservice.fetch()
    current_log = 0
    for log in request_logs:
      if current_log > MAX_LOGS_TO_READ:
        break
    self.response.out.write(log.combined)
几点意见

  • 使用self.response.out.write()将数据写入响应输出流
  • fetch()返回RequestLog对象的迭代器。您可以使用这个迭代器,然后在for循环中遍历迭代器知道的日志集
  • RequestLog对象返回许多属性,这些属性主要记录在此处:

您确定它没有返回任何内容,或者您的页面没有显示任何内容吗?在webapp请求处理程序中使用
print
是个坏主意;使用
self.response.out.write()
Hmm….实际上它给出了一个空白页。。。。好的……我将尝试self.response.out.write()…顺便问一下,logservice.fetch实际返回的是什么…..我的意思是返回的对象的属性是什么…..我不知道在获取对象后如何访问日志消息logs@MayankKhandelwal这些都在文档中-你读过吗?我读过了…不知何故…无法实现itI。我一直在使用按照您的建议修改了代码…到目前为止工作正常…但是现在当我想访问一整天的日志文件时,我遇到了以下错误------状态:500 OverQuotaError:API调用logservice.Read()需要的配额比可用的配额多