ログ出力方法

java等のloggingと同じ使い方ができます。

import logging
from google.appengine.ext import webapp

class MainPage(webapp.RequestHandler):
    def get(self):
        logging.debug("testtest")  #ここでログを出力


application = webapp.WSGIApplication(
        [('/',MainPage)],
        debug=True)

def main():
    #ログレベルの設定
    logging.getLogger().setLevel(logging.DEBUG)
    #アプリケーション開始
    wsgiref.handlers.CGIHandler().run(application)

if __name__ == "__main__":
    main()

main関数の冒頭で、ログレベルの設定を行っていますが、これを行わなくても出力はされる。ただし、ログレベルの初期値が「INFO以上」になっているので、INFO,WARNING,ERROR,CRITICALは出力されるが、DEBUGは出力されない。DEBUGログを出力するためには、setLevel()を呼び出して、ログレベルを「DEBUG以上」に変更する必要がある。

ログの確認方法

  • GoogleAppEngineLauncher から実行している場合は、「Logs」ボタンから確認できる。
  • Aptanaから実行している場合は、Aptanaのコンソールに表示される。
  • http://localhost:8080/?debug で、実行中のブラウザ上にログ表示エリアが現れる。

2014/07/31 追記

Python2.7+webbapp2 だと、このやり方がうまくいかなかった。
こちらを参照http://d.hatena.ne.jp/noazoh/20140731