[解決済み] log4jにスタックトレースを送信する方法は?
2022-04-24 12:36:30
質問
を実行すると、例外をキャッチして標準出力(例えばコンソール)に次のように表示されるとします。 e.printStackTrace() :
java.io.FileNotFoundException: so.txt
at java.io.FileInputStream.<init>(FileInputStream.java)
at ExTest.readMyFile(ExTest.java:19)
at ExTest.main(ExTest.java:7)
さて、これを例えばlog4jのようなロガーに送って、次のようなものを得たいと思います。
31947 [AWT-EventQueue-0] ERROR Java.io.FileNotFoundException: so.txt
32204 [AWT-EventQueue-0] ERROR at java.io.FileInputStream.<init>(FileInputStream.java)
32235 [AWT-EventQueue-0] ERROR at ExTest.readMyFile(ExTest.java:19)
32370 [AWT-EventQueue-0] ERROR at ExTest.main(ExTest.java:7)
どうすればいいのでしょうか?
try {
...
} catch (Exception e) {
final String s;
... // <-- What goes here?
log.error( s );
}
解決方法は?
例外を直接ロガーに渡す、例.
try {
...
} catch (Exception e) {
log.error( "failed!", e );
}
スタックトレースをレンダリングするのはlog4j次第です。
関連
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] スタックトレースを文字列に変換するにはどうすればよいですか?
-
[解決済み] Javaで現在のスタックトレースを取得するにはどうすればよいですか?
-
[解決済み] プログラムがクラッシュしたときにスタックトレースを自動的に生成する方法
-
[解決済み】例外の説明と例外を発生させたスタックトレースを文字列で取得する。
-
[解決済み】System.out.println()のJUnitテスト)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
final, finally, finalizeの違いについて話してください。
-
プロジェクトの依存関係を解決できなかった 解決
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
自動配線された依存性のインジェクションに失敗しました。
-
javaでよく使われる英単語
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合