Google App Engine コマンドでテストサーバーを起動し、ログの出力を行う
Google App Engineの開発を行うとき、普段はGoogle App Engine Launcherを使用しています。
しかし、アプリケーションでログを出力し、内容を確認するときは
コマンドプロンプトで起動しておいたほうが便利そうなので、
使い方を調べてみました。
コマンドプロンプトからテストサーバーを起動する
テストサーバーは、開発ツールをインストールしたディレクトリにある
dev_appserver.py
これを起動すればOKです。
バッチファイルを作成しておいて、そこから起動するほうがお手軽かと。
私はこんなバッチファイルを作成して、起動しています。
■start_server.bat
@echo off
python "C:\Program Files (x86)\Google\google_appengine\dev_appserver.py" C:\dev\gae\sample
pause
最後の引数は、デバッグしたいソースを保存している
ディレクトリのパスになります。
ログの出力(アプリケーションのデバッグ)
Google App Engineは、ファイルを出力するプログラムが作成できない仕様です。
そのため、デバッグログをファイルに出力する。という手は使えません。
loggingモジュールを使用して目的を達成します。
ソースはこんな感じになります。
# -*- coding:utf-8 -*-
import logging
from google.appengine.ext.webapp import template
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
class MainPage(webapp.RequestHandler):
def get(self):
#こんな感じでログ出力
logging.info("get called")
print "hello world!"
#ログレベルの設定
logging.getLogger().setLevel(logging.DEBUG)
application = webapp.WSGIApplication([('/', MainPage)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
logging.infoに渡した文字列が、テストサーバーを起動している
コマンドプロンプトに出力されるはずです。
最初、この方法がわからず苦労しました。
【参考URL】
Google App Engine (Python) でログを出力
※非常に参考になります。
- 関連記事
-
- Google App Engine テストサーバーのデータストアの内容確認
- Google App Engine テストサーバーに登録したデータストアをクリアする
- Google App Engine コマンドでテストサーバーを起動し、ログの出力を行う
- Google App Engine Pythonでデバイスメーカーを作成する その3(アプリケーション作成編)
- Google App Engine Pythonでデバイスメーカーを作成する その2(データ登録編)
コメント