0

私はいくつかのタスクを実装するJavaでプログラムを書きました。私はプログラムの多くの場所で例外を処理しました。

私のプログラムは毎日1日に1回実行されます。例外があれば、日付と時刻を記録したいログファイルを保持したい。(プログラムが1日に複数回実行された場合、プログラムで発生する日時。)

単一のログファイルを維持するにはどうすればよいですか?また、Log_2012-04-06_0600PMのような名前でファイルを保存したいと思います。

4

4 に答える 4

2

log4jがあなたの答えです。

log4jはすべてを実行し、すべての人が使用します。特に、カスタムファイル名形式のカスタマイズされたスケジュール でのログファイルのローテーションをサポートします。アプリケーション内から、または外部プロパティファイルを介して構成できます。

于 2012-04-06T12:38:20.210 に答える
1

キャッチされたすべての例外をERROR以上のログレベルでログに記録し、次にERRORレベルで別のアペンダーを作成し、それをルートカテゴリにアタッチして、すべてのログメッセージを受信するようにします。

目的のファイル名を取得するには、ローリングファイルアペンダーを使用します。これは、毎日ロールし、日付をogファイル名に追加するように構成できます。この構成はフレームワークに依存します。ロギングフレームワークをまだ選択していない場合は、Log4JまたはLogBackをお勧めします。

于 2012-04-06T12:38:13.320 に答える
1

などのロギングフレームワークを使用していますか?彼らはあなたが必要とするすべてを提供します。ロギング例外は次のように単純です。

catch(Exception e) {
  log.error("Opps!", e)
  //...
}

フレームワークは、タイムスタンプ、現在のスレッド名、クラス名など、必要な診断情報を追加します。

ファイル名にタイムスタンプを追加するという要件も簡単に達成できます。チェックアウトしてくださいRollingFileAppender。選択したポリシーに基づいて、通常は毎日/時間、またはファイルが大きくなりすぎると、新しいログファイルが作成されます。

于 2012-04-06T12:38:20.600 に答える
0

上記の投稿に同意します。Log4Jを使用します。単一または複数のログファイル、ローリングファイルを使用して、任意の形式でファイルを保存できます。

于 2012-04-06T13:02:22.450 に答える