2012-01-25 17 views
0

私はサーバー側でクライアントの例外をログに記録しようとしています。だから私はクライアントからサーバーにそれらを送信する必要があります。GWTのクライアントからサーバにExceptionオブジェクトを送信するにはどうすればいいですか?

私は、この目的のためにサービスを作成しました:

public interface LoggerService extends RemoteService { 
    void logerror(Throwable e); 
} 

クライアント側では、私はGWT.setUncaughtExceptionHandler(たuncaughtExceptionHandler)を使用します。それは正常に動作します

GWT.UncaughtExceptionHandler uncaughtExceptionHandler = new 
    GWT.UncaughtExceptionHandler() { 
      public void onUncaughtException(Throwable e) { 

      LoggerServiceAsync loggerService = GWT.create(LoggerService.class); 
      loggerService.logerror(e, new AsyncCallback<Void>() { 
       @Override 
       public void onSuccess(Void arg0) { 
        SC.say("Client's error logged"); 

       } 
       @Override 
       public void onFailure(Throwable arg0) { 
        SC.say("Unable to log client's error"); 

       } 
      }); 
      } 
     }; 

私はホスト・モードを使用しています。しかし、Webモードで作業しようとすると、My LoggerServiceが機能しません。私はホストされたモードでは、例外が "js"から "java"に変換されることを知っています。しかし、なぜ私のlogerror(Throwable e)メソッドがWebモードで全く呼び出されないのか理解できません。サーバーの応答は200です。

答えて

0

最後に、サーバにクライアントの例外を記録するためにgwt-logを追加しました。

0

GWTは、ログメッセージをサーバーに送信するためにクライアント側loggingsupportを容易にするインフラストラクチャを提供します。最初は実装が少し複雑になりますが、アプリ全体にログを記録する方法が確立される可能性があります。

+0

ありがとう、明日試してみると、それは私が探しているようです。 – Timofei

+0

WebモードでGWTのログを使って「通常の」Javaスタックトレースを取得する方法はありますか? – Timofei

関連する問題