コーディングしているときは、コンソールに小さなもの(主に変数の現在の値)を出力することがよくあります。 Google App Engineにはこのようなものが表示されませんが、Google App Engine LauncherにはLog端子があります。 Google App Engineを使用して、上記のターミナルまたは他のターミナルに書き込む方法はありますか?
Pythonの標準のlogging
モジュールを使用する必要があります。
_import logging
logging.info("hello")
logging.debug("hi") # this won't show up by default
_
GoogleAppEngineLauncherログコンソールでlogging.debug()
への呼び出しを表示するには、まずフラグ_--dev_appserver_log_level=debug
_をアプリに追加する必要があります。ただし、App Engine SDK自体から多くのデバッグノイズが発生することに注意してください。 レベルの完全なセット は次のとおりです。
debug
info
warning
error
critical
アプリをダブルクリックしてExtra Flagsフィールドにドロップすると、フラグを追加できます。
https://cloud.google.com/appengine/docs/python/requests#Python_Logging を参照してください
および http://docs.python.org/library/logging.html
あなたはおそらく次のようなものを使いたいでしょう:
logging.debug("value of my var is %s", str(var))
@Manjoor
Javaでも同じことができます。
import Java.util.logging.Logger;
// ...
public class MyServlet extends HttpServlet {
private static final Logger log = Logger.getLogger(MyServlet.class.getName());
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
log.info("An informational message.");
log.warning("A warning message.");
log.severe("An error message.");
}
}
http://code.google.com/appengine/docs/Java/runtime.html の「ロギング」を参照してください
Python開発サーバー(リリース> 1.7.6、または2013年3月以降)のより新しいバージョンを使用している場合、これらは使用する正しい手順のようです。
スクリプトに以下を含めます。
import logging logging.debug("something I want to log")
そして このドキュメントページ ごとに、[編集]> [アプリケーションの設定]> [起動設定]> [追加のコマンドラインフラグ]に移動してフラグを設定し、追加します。
--log_level=debug
また、FirePythonを確認する必要があります。 Firebugでサーバーログメッセージを取得できます。
http://appengine-cookbook.appspot.com/recipe/firepython-logger-console-inside-firebug/
こんにちは、GoogleAppEngineLauncherのバージョン1.8.6を使用しています。フラグを使用して、デバッグメッセージなど、表示するメッセージログレベルを設定できます。
--dev_appserver_log_level debug
--debug
の代わりに使用してください(@Christopherの回答を参照)。
私のオンラインPython私のウェブサイトのGoogle App Engineで実行されているインタプリタ Pythonを学ぶ をチェックしてください。それはあなたが探しているものかもしれません。printrepr(variable )あなたが見たいものについて、そしてあなたが望むだけ何度でも実行します。
logging
モジュールを使用することをお勧めします ですが、必須ではありません。
単純なprint()
sを実行するだけで、Google App Engineログコンソールに書き込むことができます。
質問にお答えしたいと思います。ロギングメッセージは、ターミナルではなくAppEngineログに出力されます。
起動することができます AppEngine Launcherのログボタンをクリックして
GAEは標準エラーをキャプチャーし、コンソールまたはログに出力します。
print >> sys.stderr, "Something to log."
log.setLevel(Level.ALL)を使用してメッセージを表示
デフォルトのメッセージフィルタリングレベルは「エラー」のようです。 setLevel()メソッドを使用して.infoおよび.warningメッセージを表示するまで、有用なログメッセージは表示されませんでした。
System.outに出力されたテキストも表示されませんでした。 log.info()レベルのメッセージとして解釈されるようです。