logservice.fetch () ничего не возвращает - PullRequest
1 голос
/ 20 марта 2012

Следующий код используется для получения журналов из ядра приложения для дальнейшей обработки. Однако я не знаю, как использовать результат 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()

1 Ответ

3 голосов
/ 20 марта 2012

В вашем случае код будет выглядеть примерно так:

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 возвращают ряд атрибутов, которые в основном здесь описаны: http://code.google.com/appengine/docs/python/logservice/requestlogclass.html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...