try{

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

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/03/23 03:32:34
  • 終了:2011/03/30 03:35:02

回答(4件)

id:Cherenkov No.1

Cherenkov回答回数1502ベストアンサー獲得回数4922011/03/23 05:04:57

ポイント23pt

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

catch (Exception e) {
  e.printStackTrace(new PrintWriter(new FileWriter("log.txt")));
  throw e;
}
id:TAK_TAK No.2

tak回答回数981ベストアンサー獲得回数812011/03/23 08:30:48

ポイント23pt

catch (Exception e) {

e.printStackTrace(System.out);

}

とすれば、

>java classfile > logfile

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

id:taroe No.3

taroe回答回数1099ベストアンサー獲得回数1322011/03/23 18:24:02

ポイント22pt

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

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

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

id:koime_ryokutya

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

2011/03/23 20:52:58
id:a-kuma3 No.4

a-kuma3回答回数4440ベストアンサー獲得回数18242011/03/23 21:50:01

ポイント22pt

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

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

    PrintStream ps = new PrintStream(new FileOutputStream("log.txt"));
    System.setOut(ps);
    System.setErr(ps);

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません