Interstage

 

JBKプラグインでのデバッグ

Javaコンソール出力をファイル出力に変更する方法

Javaコンソールに出力される情報をファイルに出力することにより、デバッグ情報を保存することができます。デバッグ情報をファイルに出力することによって、アプレットがダウンして、コンソールが強制的に閉じてしまった場合でも、デバッグ情報を採取することができます。

以下に、Java コンソールの情報を出力ファイルに記録するサンプルアプリケーションを使用して、ファイルに出力する方法を説明します。

画面-2 サンプルアプリケーション画面
サンプルアプリケーション画面

Javaコンソール出力からファイル出力へ変更するためには、リスト-3のような処理を行うプログラムを作成して下さい。 サンプルアプリケーションでは、「ファイル出力を開始」ボタンを押下すると、Javaコンソール出力からファイル出力へ変更する処理になっています。

リスト-3

<省略>

// コンソール出力用ファイル(任意に変更可能)
private static final String OUTPUT_FILE = "C:\\temp\\console.txt";

<省略>

/**
 * アプレット上のボタンが押されたときの処理
 */
public void actionPerformed(ActionEvent e) {
  String label_str = e.getActionCommand();
  if (label_str.equals(LABEL_START)) {
    // ボタンラベルが"ファイル出力を開始"の場合
    // ファイル出力を開始する
    try {
      fileOut = new PrintStream(new FileOutputStream(OUTPUT_FILE), true);
      System.setOut(fileOut);
      System.setErr(fileOut);
    } catch (IOException exc) {
      exc.printStackTrace();
    }
    btnToFile.setLabel(LABEL_STOP);
  } else if(label_str.equals(LABEL_STOP)) {
    // ボタンラベルが"ファイル出力を終了"の場合
    // ファイル出力を終了する
    System.setOut(sysOut);
    System.setErr(sysErr);
    fileOut.close();
    btnToFile.setLabel(LABEL_START);
  } else if(label_str.equals(LABEL_TIME)) {
    // ボタンラベルが"現在の時刻を出力"の場合
    // 現在の時刻を出力する
    System.out.println("現在の時刻は\"" + new Date().toString() + "\"です。");
  }
}

(注)ファイル出力を行う場合は、必ずポリシーファイルにファイル書き込み権限を付与してください。

サンプルアプリケーションには、以下の2つのボタンがあります。

「ファイル出力を開始」ボタン
コンソール出力から、ファイル出力へ変更します。
ボタンを押下すると、ボタンラベルが「ファイル出力を終了」に変更します。
ボタンラベルが、「ファイル出力を終了」の状態でボタンを押下すると、ファイル出力からJavaコンソール出力へ戻すことができます。
「現在の時刻を出力」ボタン
現在の時刻を出力します。
出力先は、「ファイル出力を開始」を押下している場合はファイルへ出力され、それ以外はJavaコンソールへ出力されます。

Javaコンソールのデバッグ情報を、ファイル出力するように変更します。サンプルアプリケーションの「ファイル出力を開始」ボタンを押下すると、画面-3になります。

画面-3
サンプルアプリケーション画面

ボタンラベルが「ファイル出力を終了」に変わります。これで、ファイルに出力する準備は完了しました。次に、「現在の時刻を出力」ボタンを押下します。するとC:\temp配下のconsole.txtファイルにリスト-4 のような文字列が出力されます。

リスト-4
現在の時刻は"Wed Nov 27 18:29:50 JST 2002"です。

「ファイル出力を終了」ボタンを押下するまでの間は、Javaコンソールに出力される情報はすべてC:\temp配下のconsole.txtファイルに出力されます。

Javaコンソールに、出力先を戻すためには、「ファイル出力を終了」ボタンを押下します。すると、ボタンラベルが「ファイル出力を開始」に、戻ります。この状態で、「現在の時刻を出力」ボタンを押下すると、現在の時刻が、Javaコンソールに出力されます。

画面-4
出力画面

 

 

元のページへ戻る ページの先頭へ