3

デフォルトよりも少し優れた例外でスタックトレースを整理するのに役立つLog4Jレイアウト/フォーマッターを探しています。スタック実行が main() の下のどこかにあることは明らかであり、私が知る必要はありません。例外が他のライブラリの奥深くで発生したことは、私ができることはほとんどありません。

私が望むのは、スタックトレースをトリムするレイアウトです。たとえば、jar ファイル、パッケージなどを含むことで識別される、自分のコード内のメソッドの最後の 5 つのメソッド呼び出しです。

これらの線に沿ったものはありますか、それとも自分で魔法を書かなければなりませんか?

4

5 に答える 5

2

同様の質問をしました(しばらく前にスタックトレースを完全に抑制することについて

残念ながら、そのための設定はありません。それを行うには、PatternLayout をサブクラス化する必要があります。

于 2009-05-07T22:49:57.647 に答える
1

logback-classic (log4j の後継) の「ex」または「exception」変換ワードは、指定された数のスタック トレース行の出力をサポートします。「ex」変換語は、残りの変換語と一緒に文書化されています。少し下にスクロールする必要があります。

このトピックについてさらに情報が必要な場合は、logback-user メーリング リストに連絡してください。

于 2009-05-29T13:46:41.620 に答える
1

私もこれを探してみましたが、満足のいくものは何も見つからなかったので、余分なスタック フレームを取り除くカスタムの ThrowableRenderer を作成しました。他の人が使用できるように、コードをオープンソースにしました。それに関する私のブログ投稿をチェックしてください。そこにコードへのリンクがあります。

于 2012-02-22T09:51:02.227 に答える
0

これを行うには、次の 3 つの方法があります。

  1. 他の誰かが作成したライブラリまたはコードを見つける
  2. 自分で書く(拡張・実装)
  3. デフォルトのレイアウトを使用しますが、ロガーに渡す前に例外のスタックを削除します
于 2009-05-07T22:15:06.123 に答える
0

必要な特別なロジックを持つカスタム Appender を作成できます。それは良い方法かもしれません。

于 2009-05-07T22:29:23.017 に答える