1

ログファイルまたはtxtファイルを維持したいのですが、例外の詳細とその他の詳細をtxtまたはログファイルで維持できます。シナリオは次のようになります。

try {
    .......
} catch(exception e) {
    here the file should be created
}

ロギングフレームワークを使用せずに、これに最適な最適なソリューションは何でしょうか。

これは私のために働くことができますか?

try  {
    // something
} catch (Exception ex) {
    ex.printStackTrace(new PrintStream(new File("error.log")));
}
4

4 に答える 4

1

ロギング フレームワークを使用したくない場合は、Java ロギング フレームワークを調べて、それを使用して独自の実装を作成できます。

java.util.loggingには、実装に必要なすべての必須クラスが含まれています

于 2012-11-09T06:56:12.823 に答える
1

ロガー フレームワークを使用したくない理由がわかりません。わかりましたのでFileWritter、トップレベルでオブジェクトを作成し、必要なクラスで使用できることの1つです。

BufferedWriter bw = null;
String path = "your//file//path//where u want to save your log";
try {
   bw = new BufferedWriter(new FileWriter(new File(path)));
 }

そしてあなたのコードで。

try
{
 .......
 }
catch(exception e)
{
   bw.write("here the file should be created");
   bw.flush();
}
于 2012-11-09T07:02:27.870 に答える
0

必要な情報を (ログ) ファイルに追加するコードを実行する必要があります。したがって、最後に、logExceptionlogErrorなどの静的メソッドを提供するロガークラスが作成されます。このための簡単なドラフト:

public class MyLogger {

   public static log(Object sender, Throwable e) {
     String className = sender;
     String message = e.getMessage();
     append(sender, message);
   }

   private static void append(String classname, String message) {
     // append something to your file
   }
}

タイムスタンプといくつかの行番号情報を追加したい場合があります。これは次から入手できますThread.currentThread().getStackTrace()[n](呼び出し元のメソッドからフレームが見つかるまで、n の値を試してみてください。2、3、または 4 です)。

次に、例外を処理するたびに、

catch(SomeException e) {
   MyLogger.log(this, e);
}
于 2012-11-09T07:00:52.810 に答える
0

ロギング フレームワークは、ログ ファイルの管理に役立ちます。

それらを使用したくない場合は、テキスト ファイルに書き込む手間を省いて独自のログ メカニズムを設計できます。

log4j の場合:

 1. You can set the logging levels like debug,error,info etc...

 2. You can set appenders like File Appender, Console Appender etc..

これらの 2 つのことは、あなたのニーズを満たすかもしれません。

于 2012-11-09T06:56:18.213 に答える