我正在尝试让Appstats在我的GAE Python应用程序上工作。我使用的是带有python 2.7的webapp2。
我遵循了https://developers.google.com/appengine/docs/python/tools/appstats#Setup其中包括创建appengine_config.py文件:
def webapp_add_wsgi_middleware(app):
from google.appengine.ext.appstats import recording
app = recording.appstats_wsgi_middleware(app)
return app
并在我的app.yaml中添加以下行:
builtins:
- appstats: on
我想在上面使用Appstats的python应用程序看起来像这样:
import webapp2
from google.appengine.api import urlfetch
from google.appengine.ext import db
import appengine_config
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.write('Hello word!')
app = webapp2.WSGIApplication([
webapp2.Route(r'/method1/', handler=Method1, name='method1'),
webapp2.Route(r'/method2/', handler=Method2, name='method2'),
webapp2.Route(r'/', handler=MainHandler, name='home')
], debug=True)
(在阅读了Appstats的评论后,我尝试了import appengine_config
。它只适用于一个WSGIApplication,但两者都不起作用)
我面临的问题是,我可以在/_ah/stats
上看到appstats控制台,但即使在向应用程序发出了许多请求后,它也没有记录任何内容。
我想知道这是否与我使用扩展URL路由的事实有关?我真的很想使用webapps2扩展路由,所以我希望Appstats不会有问题。如果有人对我做错了什么有任何见解,那将非常有帮助!
提前感谢!
也许这会有所帮助:
1) 我只在我的应用程序中配置。yaml:
builtins:
- appstats: on
2) 以及appengine_config.py:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
def webapp_add_wsgi_middleware(app):
from google.appengine.ext.appstats import recording
app = recording.appstats_wsgi_middleware(app)
return app
3) 我不需要更改我的处理程序或路由。
经过大量调查,发现我的问题的答案是一个粗心的错误。我以某种方式在子文件夹中创建了appengine_config.py
文件,而不是在根文件夹中,但我没有注意到,因为我一直在使用IDE。
因此,如果有人有这个问题,请确保:
appengine_config.py
在根文件夹中appengine_config.py
包含上述代码app.yaml
包含appstats: on
作为builtins:
(如果您可以访问/_ah/stats
,则此部分配置正确)
它应该可以工作。:)