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) でログを出力
※非常に参考になります。




関連記事

コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
https://symfo.web.fc2.com/

PR

検索フォーム

月別アーカイブ