4

なんで?

クライアントでSystem.out.printlnを使用すると、 CodeServerのコンソールに何も出力されません。

現在、ブラウザ コンソールにログインしていますが、システム コンソールにログインするにはどうすればよいですか?

ps gwt にログインする最良の方法は、com.google.gwt.logging.Loggingモジュールを使用することです。また、システム コンソールでも動作するようになりました。

4

3 に答える 3

4

スーパー開発モードは基本的に本番コンパイルと同じです(最適化されないだけです)

本番環境(コンパイル済みのjavascript)では、System.outはJavaサーバー側のプロセスに何も出力しません。コードはJavascriptVMで実行され、Javaコンソールに出力するにはネットワークを経由する必要があります。

開発モードで実行している場合は、ブラウザ内のプラグインに接続されているJVM内で実行しています。これがSystem.outが機能する理由です。

于 2012-07-29T10:12:50.377 に答える
1

この問題を解決するためにリモートロガーを設定しました。このようにして、すべてのクライアントログステートメントがサーバーに送信され、そこでログが引き続き機能します。ここで手順を見つけることができます:GWTでremoteLoggingServletをセットアップします

次に、通常のjavautilロギングを使用できます。

import java.util.logging.Logger;
private static Logger log = Logger.getLogger("mylogger");

残念ながら、スタックトレースはjavascriptにあります。適切なJavaを入手する方法はまだわかりません。お役に立てれば!

于 2012-07-30T00:28:58.090 に答える
1

最も美しいソリューションではありませんが、次のようなネイティブ JSNI メソッドを作成できます。

public static native void debug(String text)/*-{
    console.debug(text)
}-*/;

次に、次のように呼び出します。

debug("text here").

そして、コンソールに出力する必要があります。

于 2014-05-27T14:52:02.217 に答える