web-dev-qa-db-ja.com

Google App Engineでコンソールに書き込む方法を教えてください。

コーディングしているときは、コンソールに小さなもの(主に変数の現在の値)を出力することがよくあります。 Google App Engineにはこのようなものが表示されませんが、Google App Engine LauncherにはLog端子があります。 Google App Engineを使用して、上記のターミナルまたは他のターミナルに書き込む方法はありますか?

50
Stephen Cagle

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フィールドにドロップすると、フラグを追加できます。

Adding the --dev_appserver_log_level flag to your app in the GoogleAppEngineLauncher

67
Chris Calo

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))
31
vartec

@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 の「ロギング」を参照してください

9
Dario Seidl

Python開発サーバー(リリース> 1.7.6、または2013年3月以降)のより新しいバージョンを使用している場合、これらは使用する正しい手順のようです。

  1. スクリプトに以下を含めます。

    import logging logging.debug("something I want to log")

  2. そして このドキュメントページ ごとに、[編集]> [アプリケーションの設定]> [起動設定]> [追加のコマンドラインフラグ]に移動してフラグを設定し、追加します。

    --log_level=debug

4
user809695

また、FirePythonを確認する必要があります。 Firebugでサーバーログメッセージを取得できます。

http://appengine-cookbook.appspot.com/recipe/firepython-logger-console-inside-firebug/

2
Sam

こんにちは、GoogleAppEngineLauncherのバージョン1.8.6を使用しています。フラグを使用して、デバッグメッセージなど、表示するメッセージログレベルを設定できます。

--dev_appserver_log_level debug

--debugの代わりに使用してください(@Christopherの回答を参照)。

1
Abimael

私のオンラインPython私のウェブサイトのGoogle App Engineで実行されているインタプリタ Pythonを学ぶ をチェックしてください。それはあなたが探しているものかもしれません。printrepr(variable )あなたが見たいものについて、そしてあなたが望むだけ何度でも実行します。

1
Ron Reiter

loggingモジュールを使用することをお勧めします ですが、必須ではありません。

単純なprint() sを実行するだけで、Google App Engineログコンソールに書き込むことができます。

0
clickbait

質問にお答えしたいと思います。ロギングメッセージは、ターミナルではなくAppEngineログに出力されます。

起動することができます AppEngine Launcherのログボタンをクリックして

0
user5751790

GAEは標準エラーをキャプチャーし、コンソールまたはログに出力します。

print >> sys.stderr, "Something to log."
0
bugloaf

log.setLevel(Level.ALL)を使用してメッセージを表示

デフォルトのメッセージフィルタリングレベルは「エラー」のようです。 setLevel()メソッドを使用して.infoおよび.warningメッセージを表示するまで、有用なログメッセージは表示されませんでした。

System.outに出力されたテキストも表示されませんでした。 log.info()レベルのメッセージとして解釈されるようです。

0
Ribo