人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

try{
}catch(Exception e}{
e.printStackTrace();
}
等で、例外処理が出た時は、原因が標準出力に出力されますが、この内容を手軽にログファイルに出力する方法はあるでしょうか?

●質問者: koime_ryokutya
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Catch TRY ログファイル 例外処理 標準出力
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Cherenkov
●23ポイント

printStackTraceを指定ファイルに出力する方法

catch (Exception e) {
  e.printStackTrace(new PrintWriter(new FileWriter("log.txt")));
  throw e;
}

2 ● tak
●23ポイント

catch (Exception e) {

e.printStackTrace(System.out);

}

とすれば、

>java classfile > logfile

としてもlogfileの方に出力されます。


3 ● taroe
●22ポイント

回答2の方法でよいのなら

プログラムは変更せずに、エラー出力もファイルに出力するようにすればよいです。

http://blog.kumacchi.com/2007/07/msdos.html

◎質問者からの返答

実行可能Jarやラップしたexeファイルからのダブルクリックによる起動で、同じことをやる方法はあるでしょうか?


4 ● a-kuma3
●22ポイント

printStackTrace があちこちに散らばってて、ひとつひとつ変更するのが面倒、ということであれば、

プログラムの最初の方で、以下のようにやっておくと、出力先を切り替えることができます。

 PrintStream ps = new PrintStream(new FileOutputStream("log.txt"));
 System.setOut(ps);
 System.setErr(ps);
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ