1. ログを出力するための概略
Logging Events in Your Application - Google App Engine - Google Code の説明に従った。
概略は次の通り。
- loggin モジュールのインポート。
- ログを出力するレベルをアプリケーションにおいて設定する。
- loggin のメソッドを使って出力したいログの内容を書く。
2. logging モジュール
まず、logging モジュールをインポートする。
import logging
3. ログのレベルに対応したメソッド
logging のメソッドには、debug(), info(), error() などがあり、
14.5 logging -- Logging facility for Python によると、
Logged messages also have levels of importance associated with them. The default levels provided are DEBUG, INFO, WARNING, ERROR and CRITICAL.
(太字は引用者による)
ログとして出力するメッセージに「レベル」を設定できる。そして、それぞれのレベルに対応したメソッドが定義してある。
The methods are debug(), info(), warning(), error() and critical(), which mirror the default levels.
(同上より、太字は引用者による)
ログのレベルについては、以下のような段階がある。
ちなみに、この loggin はドキュメントに
New in version 2.3.
とあるように、Python のライブラリに含まれている。
4. ログを出力するレベルの設定
app.yaml の handlers で指定してある、script のmain 関数において、次のように記述する。
logging.getLogger().setLevel(logging.DEBUG)
上記のように設定すると、DEBUG レベル以上のログが出力されるようになる。
5. 出力された結果
Web アプリケーションを起動したときのコマンドラインにおいて、次のように表示された。
ブラウザにおいては、アプリケーションの URL に
?debug
を追加すると、ログを表示するウィンドウが表示される。
6. logging のみを試す
Google App Engine を使わずに、Python の一ファイルで、上記を真似てみる。
import logging # ログの出力レベルを設定 logging.getLogger().setLevel(logging.INFO) logging.error("hoge") logging.warning("piyo") logging.info("fuga") logging.debug("hogehoge")
これを実行すると結果は、
ERROR:root:hoge WARNING:root:piyo INFO:root:fuga
ログを出力するレベルを INFO にしたので、それ以上のレベルがログとして表示されていない。 DEBUG は INFO よりも下なので表示されていない。
0コメント:
コメントを投稿