debugging - スタックトレースでクラスパスを非表示にするようにGuiceを構成できますか?

debugging guice stack-trace readability

Guiceのスタックトレースは非常に冗長になり、読むのが非常に困難になります。次に例を示します。

1) No implementation for java.util.Set<com.mydomain.myapp.android.activities.catbrowser.generalizedbrowser.listview.helpers.databaseitem.itemmanipulators.ItemManipulator<com.mydomain.myapp.flash.Cat>> annotated with @com.google.inject.assistedinject.Assisted(value=) was bound.
  while locating java.util.Set<com.mydomain.myapp.android.activities.catbrowser.generalizedbrowser.listview.helpers.databaseitem.itemmanipulators.ItemManipulator<com.mydomain.myapp.flash.Cat>> annotated with @com.google.inject.assistedinject.Assisted(value=)


...

クラスパスを隠すことができれば、次のようになります。

1) No implementation for Set<ItemManipulator<Cat>> annotated with @Assisted(value=) was bound.
  while locating Set<ItemManipulator<Cat>> annotated with @Assisted(value=)


これを行うようにGuiceを構成する方法はありますか?
答え
だから答えはノーです。

guice source codeを見ると、エラーメッセージの作成を担当するcom.google.inject.internal.Errorsクラスが見つかります。このクラスでは、Keyが次のように変換していることがコーディングされています。

  new Converter<Key>(Key.class) {
    public String toString(Key key) {
      if (key.getAnnotationType() != null) {
        return key.getTypeLiteral() + " annotated with "
            + (key.getAnnotation() != null ? key.getAnnotation() : key.getAnnotationType());
      } else {
        return key.getTypeLiteral().toString();
      }
    }
  }


次のステップは、TypeLiteral#toStringメソッドを確認することです。

  @Override public final String toString() {
    return MoreTypes.typeToString(type);
  }


MoreTypes#typeToStringは、構成できない静的メソッドです。

  public static String typeToString(Type type) {
    return type instanceof Class ? ((Class) type).getName() : type.toString();
  }
関連記事

debugging - ltraceは2つの呼び出しのみを出力します

java - ユーザーの作成、許可されない(406)

asp.net - Microsoft Visual Web Developer 2010 Expressでのデバッグ

visual-studio-2010 - Trace.WriteLineが出力を生成しない

debugging - Nemiverでvala / clutterプログラムをデバッグするときにデバッグ情報が欠落する

eclipse - Jarファイル内のファイルをどのようにデバッグできますか

android - C++プロジェクトに変換せずにEclipse AndroidプロジェクトにC++ネイチャーを追加する方法

css - Internet Explorer 6のアンカーリストの水平リストのテキストが2行に折り返される

visual-studio - なぜ各変数に12バイトを割り当てるのですか?

debugging - DbgViewで一部のトレース書き込みが欠落しているのに、トレースがテストランナーで表示される理由