私はサーバー側でクライアントの例外をログに記録しようとしています。だから私はクライアントからサーバーにそれらを送信する必要があります。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です。
ありがとう、明日試してみると、それは私が探しているようです。 – Timofei
WebモードでGWTのログを使って「通常の」Javaスタックトレースを取得する方法はありますか? – Timofei